Newsgroup: it.comp.lang.visual-basic
Titolo: Ancora su label e formattazione

Salve,
    utilizzo un richtextboc per gestire un testo formattato. Il problema è
che questi pseudo-label crescono al crescere del numero di files presenti in
una directory. Se i files sono tanti diventano un poco ostici e pesanti da
gestire (specie nell'evento mouse_move).
Probabilmente non è la soluzione migliore per il mio problema.
Qualcuno conosce un altro modo per usare testo formattato su di un label?
grazie,
paulo

  su di un label?
Così ad occhio ti consiglierei di provare ad usare Print su un
controllo Picture, credo sia un tantino più leggero. Se spieghi
meglio cosa stai cercando di fare si potrebbe essere più specifici.
Ah, fai attenzione alla .AutoRedraw, se la conosci non morde ;-)
P.S.: Mi stavo chiedendo se per caso la tua prossima domanda
sarà: "ma non esiste un evento MouseLeave ?" ;-)
Bye, G.

 sarà: "ma non esiste un evento MouseLeave ?" ;-)
oddio.. ora che mi ci fai pensare... sarebbe mica male un evento simile :-)
!
grazie ancora per la tua attenzione,
paulo

 simile :-) !
http://groups.google.it/groups?scoring=d&q=mouseleave+group%3Ait.comp.lang.visual-basic
oppure
http://groups.google.it/groups?scoring=d&q=mouseleave+zanazzi+group%3Ait.comp.lang.visual-basic
Bye, G.

 Bye, G.
ancora grazie,
paulo

volevo chiarire una cosa:
ho bisogno di modificare parti di <una stessa> stringa, del tipo:
stringa = testo<bold=true>testo2<fontSize = 12>testo3
immagino tu mi abbia capito sin dall'inizio (cosě pare, visto che mi hai
consigliato un rtb). Ma non vorrei che esprimendomi male, io abbia dato
l'impressione di voler modificare tutto il testo di una label.
paulo

 label.
Mi era venuto il dubbio, sì :-).
OK, prova questo codice: attenzione che è buttato lì senza la
minima cura, giusto per provare cosa fa. Crea un form abbastanza
grande, mettici una picture1(0) e un command1, nel command1
mettici il codice e prova.
'****************
Private Sub Command1_Click()
     Dim N As Long
     Dim FileTest As String
     ' settiamo dei parametri iniziali per la pbox, un po' a cavolo :-)
     Picture1(0).Left = 500
     Picture1(0).Width = 3500
     Picture1(0).Height = 350
     FileTest = Dir$("*.*")
     For N = 0 To 9     ' mettiamo un limite, è solo una prova
          If N > 0 Then Load Picture1(N)
          With Picture1(N)
               .Top = N * 500
               .Visible = True
               .AutoRedraw = True
               ' settiamo i parametri per scrivere il nome del file
               .Font.Size = 10
               .Font.Bold = False
               .ForeColor = vbBlack ' puoi usare anche gli RGB
               ' per definire i colori, vbBlack e simili sono costanti predefinite.
               ' attento che lavorare sui 4 caratteri per trovare l'estensione
               ' come ho fatto io qui è una ca##ata, eh :-) le estensioni
               ' possono avere un numero arbitrario di caratteri, devi
               ' cercare l'ultimo "punto" con una instrrev e gestire il fatto
               ' che potrebbe anche non esistere.
               Picture1(N).Print Left$(FileTest, Len(FileTest) - 4);
               ' settiamo i parametri per scrivere l'estensione
               .Font.Bold = True
               .Font.Size = 10
               .ForeColor = vbRed
               Picture1(N).Print Right$(FileTest, 4);
               ' settiamo i parametri per la dimensione del file
               .Font.Bold = True
               .Font.Size = 8
               .ForeColor = vbGreen
               Picture1(N).Print " - dim: " & FileLen(FileTest)
          End With
          FileTest = Dir$
          If FileTest = "" Then Exit For
     Next N
End Sub
'****************
Bye, G.

Ciao,
    il codice che mi hai passato va benissimo. Fa esattamente ciň di cui ho
bisogno.
Ho notato perň che ogni qual volta cambio il backcolor, la stringa viene
cancellata.
C'e' modo di evitarlo? c'e' modo di recuperare il testo che c'č stampato su?
grazie
paulo

 c'e' modo di recuperare il testo che c'è stampato su?
Non un modo "umano". Uno NON umano, potrebbe essere
quello di passare la bitmap ad un OCR :-).
Il mio consiglio, a parte il metodo di vbaccelerator sopra,
è quello di memorizzare tutto quello che devi scrivere
sulle bitmap in una matrice e poi riscriverlo quando necessario.
Bye, G.