Immagine di sfondo al testo in una TextEdit ed in una TextLabel
Il caso in questione prevede una immagine che fa da sfondo ad un testo in una TextEdit o in una TextLabel, evitando però che il testo sia inegrato nell'immagine (evitando che venga creata insomma una nuova immagine) da mostrare successivamente, e mantenendo invece testo ed immagine come elementi ben distinti fra loro.
Poiché, però, la TextEdit e la TextLabel non possiedono una sorta di proprietà .Picture, capace di caricare direttamente le immagini, ci serviremo, in alternativa, per la TextEdit della proprietà .RichText, e per la TextLabel della proprietà .Text, utilizzando al loro interno il codice HTML.
In particolare, ci serviremo del tag <TABLE>: ossia creeremo una tabella per sfruttare così la capacità della sua proprietà background= di caricare le immagini.
Facciamo un esempio pratico con una TextEdit:
Public Sub Form_Open() ' Dichiariamo una variabile di tipo "Picture"... Dim p As New Picture ' ...con la quale carichiamo l'immagine, che farà da sfondo; ' ma la carichiamo qui solo per ottenere successivamente le sue dimensioni: p = p.Load("immagine_che_sarà_caricata_poi_come_sfondo") ' Per caricare l'immagine effettivamente in una "TextEdit", bisogna crearvi ' una "Tabella" con gli appositi tag HTML . ' Si sfrutterà, così, la capacità della <TABLE> di caricare le immagini. ' Impostiamo le dimensioni della tabella in base alle dimensioni ' della immagine precedentemente caricata nella variabile di tipo "Picture". ' Con la proprietà "background=" della Tabella carichiamo effettivamente ' l'immagine nella predetta Tabella creata e dimensionata: TextEdit1.RichText = "<TABLE width=" & p.W & " height=" & p.H & " background=immagine_da_caricare_come_sfondo>" & "<TR><TD align=justify>Questo è il testo che starà al di sopra dell'immagine</td></tr></table>" End
L'intero testo, che sarà contenuto nella TextEdit, o nella TextLabel, affinché possa stare tutto al di sopra dell'immagine caricata, dovrà continuare ad essere gestito all'interno della cella (nel tag <TD> ) della Tabella. Quindi anche eventuali cambiamenti delle sue proprietà (colore, stile, etc) dovranno essere gestiti secondo il protocollo HTML.