Gambas-it

Gambas dal mondo esterno => Mailing List => Topic aperto da: vuott - 17 Agosto 2016, 21:35:45

Titolo: Posizionare immagine e testo al centro in un Button
Inserito da: vuott - 17 Agosto 2016, 21:35:45
https://lists.gambas-basic.org/pipermail/user/2016-August/058079.html

Titolo: Re:Posizionare immagine e testo al centro in un Button
Inserito da: vuott - 17 Agosto 2016, 23:54:21
...più o meno la sostanza è questa:

Codice: [Seleziona]
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



Titolo: Re:Posizionare immagine e testo al centro in un Button
Inserito da: Gianluigi - 18 Agosto 2016, 17:50:10
Ho fatto un piccolo componente che posto anche qui per gli iscritti che fossero interessati.

 :ciao:
Titolo: Re:Posizionare immagine e testo al centro in un Button
Inserito da: Gianluigi - 20 Agosto 2016, 14:40:10
Questo è realmente un pulsante quadrato.
Ho implementato anche lo stile drawing flags (http://gambaswiki.org/wiki/comp/gb.qt4/style/stateof).

 :ciao:
Titolo: Re:Posizionare immagine e testo al centro in un Button
Inserito da: kicco - 20 Agosto 2016, 15:25:19
 :ok:
molto interessante!
 :ciao:
Titolo: Re:Posizionare immagine e testo al centro in un Button
Inserito da: Gianluigi - 22 Agosto 2016, 23:14:44
 :D Grazie

Aggiungo questa terza versione che implementa un'interessante soluzione di Fabien Bodard che soddisfa il post  che in realtà chiedeva il testo su più righe.

 :ciao: