Autore Topic: Animare i tasti dentro una finestra di programma.  (Letto 276 volte)

Offline danielozma

  • Gamberetto
  • *
  • Post: 35
    • Mostra profilo
    • http://ogigia.altervista.org
Animare i tasti dentro una finestra di programma.
« il: 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.

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.309
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Animare i tasti dentro una finestra di programma.
« Risposta #1 il: 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
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline danielozma

  • Gamberetto
  • *
  • Post: 35
    • Mostra profilo
    • http://ogigia.altervista.org
Re:Animare i tasti dentro una finestra di programma.
« Risposta #2 il: 08 Agosto 2022, 09:20:11 »
Grazie del trucco, me lo segno nel pc.
Buona giornata.