Disegnare un Button contenente un'icona e un testo mediante la DrawingArea

Da Gambas-it.org - Wikipedia.
Versione del 13 nov 2016 alle 09:52 di Vuott (Discussione | contributi) (Creata pagina con "Molte volte si ha la necessità di posizionare immagine e testo al centro - o in altre posizioni - in un ''Button''. Non è possibile, però, ottenere questo effetto con le ri...")

(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

Molte volte si ha la necessità di posizionare immagine e testo al centro - o in altre posizioni - in un Button. Non è possibile, però, ottenere questo effetto con le risorse della Classe Button. Gambas fornisce il Metodo .Style.Button( ) della Classe Draw, che - opportunamente utilizzato - consente di ottenere quel risultato.


Mostriamo un semplice esempio:

Private da As DrawingArea
Private bo As Boolean


Public Sub Form_Open()
 
 With da = New DrawingArea(Me) As "DrawingArea1"
   .X = 200
   .Y = 200
   .W = 100
   .H = 80
 End With
  
End


Public Sub DrawingArea1_Draw()
 
 Dim pc As Picture
 Dim testo As String
 
  pc = Stock["32/monitor"]
  testo = "Testo qualsiasi"
  
  With Draw
    .Style.Button(0, 0, da.W, da.H, bo, 0, False)
    .Picture(pc, (.W - pc.W) / 2, 10)
    .Text(testo, (.W - .TextWidth(testo)) / 2, 50)
  End With
 
  bo = Not bo
  
End


Public Sub DrawingArea1_MouseDown()
  
  Print "Tasto premuto";
   
  da.Refresh
  
End


Public Sub DrawingArea1_MouseUp()
   
  Print " e rilasciato"
   
  da.Refresh
  
End