Gambas-it

Gambas3 => Programmazione => Topic aperto da: kicco - 05 Ottobre 2014, 16:09:33

Titolo: Cambiare picture a un Button
Inserito da: kicco - 05 Ottobre 2014, 16:09:33
Ho un Button nel form al quale ho associato una picture (dall'ide).
Quando premo il Button vorrei cambiare la picture associata.

Esempio: nell'ide ho selezionato picture=icon:/22/warning (è un'icona rossa)

nel codice pensavo di scrivere:
 Button1.picture = ("icon:/22/apply") (apply è un'icona verde)
ma non funziona.

anche se scrivo:
dim p as picture
p=load.picture("icon:/22/apply")
Button1.picture=p

non cambia niente, non funziona!

Sto sbagliando strada? :ciao:
Titolo: Re: Cambiare picture a un Button
Inserito da: vuott - 05 Ottobre 2014, 17:10:51
Sto sbagliando strada?

Sì, poiché nel caso tu voglia impostare da codice l'icona, devi individuare con precisione il percorso dell'icona da mostrare nel Button.

Le icone sono posizionate nelle sub-cartelle presenti nel seguente indirizzo (...almeno per Ubuntu):
 /usr/share/icons


Così ad esempio avremo:
Codice: gambas [Seleziona]
Public Sub Form_Open()

  Button1.Picture = Picture.Load("/usr/share/icons/HighContrast/22x22/devices/printer.png")

End

Titolo: Re: Cambiare picture a un Button
Inserito da: kicco - 05 Ottobre 2014, 18:03:58
Grazie Vuott!
Ho cercato anch'io le icone nella directory che hai indicato, ma quelle standard che Gambas mette a disposizione, non le ho trovate. Forse fanno parte di una libreria particolare che non sono riuscito a trovare!

 :)

Titolo: Re: Cambiare picture a un Button
Inserito da: vuott - 05 Ottobre 2014, 18:18:32
ma quelle standard che Gambas mette a disposizione, non le ho trovate. Forse fanno parte di una libreria particolare che non sono riuscito a trovare!

...qualcosa c'è in questa cartella:

/home/..../trunk/app/src/gambas3/img   :-\
Titolo: Re: Cambiare picture a un Button
Inserito da: vuott - 05 Ottobre 2014, 18:41:41
Allora, ho trovato: le icone, messe a disposizione da Gambas, come quelle due che tu avevi individuato dall'IDE, sono nelle sub-cartelle di questo percorso:

  /home/......./trunk/comp/src/gb.form.stock/stock
Titolo: Re: Cambiare picture a un Button
Inserito da: milio - 05 Ottobre 2014, 19:42:26
Button1.Picture = Picture["icon:/22/apply"]

 :ciao:
Titolo: Re: Cambiare picture a un Button
Inserito da: vuott - 05 Ottobre 2014, 20:36:53
...ed anche usando la Classe "Stock":

Codice: gambas [Seleziona]
Button1.Picture = Stock["22/apply"]



Titolo: Re: Cambiare picture a un Button
Inserito da: vuott - 05 Ottobre 2014, 20:47:35
...riassuntino:  ;D

Codice: gambas [Seleziona]
Public Sub Button1_Click()

  Button1.Picture = Picture["icon:/22/apply"]

  Wait 1

  Button1.Picture = Stock["22/audio"]

  Wait 1

  Button1.Picture = Picture.Load(User.Home &/ "trunk/comp/src/gb.form.stock/stock/22/battery.png")

End
Titolo: Re: Cambiare picture a un Button
Inserito da: kicco - 06 Ottobre 2014, 13:06:26
Fantastico!!!

grazie a tutti :ok:
Titolo: Re: Cambiare picture a un Button
Inserito da: vuott - 06 Ottobre 2014, 15:44:38
  Button1.Picture = Picture.Load(User.Home &/ "trunk/comp/src/gb.form.stock/stock/22/battery.png")

Da precisare, però, che la soluzione avente il percorso con trunk è valida se l'installazione e l'aggiornamento di Gambas avviene tramite SVN.