Immagine di sfondo al testo in una TextEdit ed in una TextLabel

Da Gambas-it.org - Wikipedia.

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.