Gambas-it

Gambas3 => Programmazione => Topic aperto da: danielozma - 07 Agosto 2022, 19:57:23

Titolo: Animare i tasti dentro una finestra di programma.
Inserito da: danielozma - 07 Agosto 2022, 19:57:23
Aggiungo un trucco che alcuni troveranno banale, ma altri meno esperti lo potrebbero trovare utile: l'animazione dei bottoni dei comandi di un programma realizzato con Gambas. L'esempio qui sotto riguarda il bottone Button1, che in condizione normale nel nostro esempio è di colore grigio.

Il bottone diventa bianco quando ci si passa sopra con il mouse, così si capisce che il puntatore potrebbe selezionare questo bottone e non altro. Nell'evento del bottone indicato qui sotto si può inserire il codice consigliato:
Button1_Enter()
  Button1.Background = Color.White

Il bottone diventa verde quando lo si è cliccato con il mouse (tasto sinistro), evidenziando che è stato premuto. Nell'evento del bottone indicato qui sotto si può inserire il codice consigliato:
Button1_Click()
  Button1.Background = Color.Green

Il bottone diventa rosso se si preme il tasto di destra del mouse, magari per avviare l'apertura di un menù. Nell'evento del bottone indicato qui sotto si può inserire il codice consigliato:
Button1_MouseUp()
   Button1.Background = Color.Red

Il bottone diventa grigio quando il puntatore del mouse si allontana dal bottone, facendo tornare l'aspetto grafico normale (il bottone normalmente è di colore grigio). Nell'evento del bottone indicato qui sotto si può inserire il codice consigliato:
Button1_Leave()
  Button1.Background = Color.Gray

Questo è solo un mio modesto contributo, in attesa che in futuro svilupperò contributi più interessanti, nella speranza che a qualcuno sia utile.
Buona serata.
Titolo: Re:Animare i tasti dentro una finestra di programma.
Inserito da: vuott - 07 Agosto 2022, 20:39:16
Il bottone diventa grigio quando il puntatore del mouse si allontana dal bottone, facendo tornare l'aspetto grafico normale (il bottone normalmente è di colore grigio). Nell'evento del bottone indicato qui sotto si può inserire il codice consigliato:
Button1_Leave()
  Button1.Background = Color.Gray
Per determinare in modo "coerente" il colore standard (quello iniziale) del widget "Button", non si può fare affidamento all'apparenza (colore grigio) del colore medesimo, ma si deve tenere in debito conto il valore numerico (RGB) del suo colore di fondo, interrogando opportunamente la Proprietà ".Background" della Classe "Button".
Si verificherà infatti che il valore del colore di fondo del "Button" non corrisponde al valore della Proprietà ".Gray" della Classe "Color".
Codice: [Seleziona]
Print Button1.Background, Color.Gray
Pertanto, per far tornare il colore standard del Bottone, suggerirei l'uso del valore restituito dalla Proprietà ".Background" della Classe "Button" oppure del valore della Proprietà ".ButtonBackground" della Classe "Color".
Mero esempio dimostrativo:
Codice: [Seleziona]
Public Sub Button1_Click()

  Button1.Background = Color.Gray
  Wait 2
  Button1.Background = Color.ButtonBackground

End
Titolo: Re:Animare i tasti dentro una finestra di programma.
Inserito da: danielozma - 08 Agosto 2022, 09:20:11
Grazie del trucco, me lo segno nel pc.
Buona giornata.