Page 1 sur 1
toggle button
Publié : lun. 22/août/2005 23:22
par Dr. Dri
il serait bien de pouvoir intervenir sur le toggle d'un bouton. savoir s'il est enfoncé et l'enfoncer...
exemple :
je clique un menu également accessible via un bouton toggle, je SetMenuItemCheck() pour le cocher mais je fais comment pour enfoncer mon toggle button ?
pourquoi pas avec get/setgadgetattribute et une une nouvelle constante ?
Dri
PS. je sais j'aime bien les gadgets attribute en ce moment

Publié : mar. 23/août/2005 10:12
par Fred
Essaye SetGadgetState() deja

Publié : mar. 23/août/2005 13:22
par Dr. Dri
Ce n'est pas dans l'aide francaise
Y'a rien dans la page ButtonGadget et rien non plus dans les pages de gadgetstate
Je pensais pas que c'était faisable du coup
Dri

Publié : mar. 23/août/2005 13:42
par julien
ce qui rejoint à mettre à jour l'aide française
Publié : mar. 04/oct./2005 15:15
par Dräc
Ce serait bien que ButtonImageGadget() bénéficie des memes options que ButtonGadget().
Je pense en particulier à pouvoir crée un bouton de type 'Toggle' avec ButtonImageGadget()
Finalement ce serait bien si ButtonGadgets() avait un paramètre ImageID supplémentaire pour remplacer ButtonImageGadget() !?

Publié : mar. 04/oct./2005 15:38
par Dr. Dri
C'est sûr ca simplifierai tout
Ca permetrait peut etre même de combiner texte et image ^^
Dri
Publié : mar. 04/oct./2005 16:08
par Dräc
Pour info, dans les deux cas ( ButtonGadget() et ButtonImageGadget() ), on peut imposer l'état enfoncé/relevé d'un bouton grace à la meme command suivante:
- enfoncé:
SendMessage_(GadgetID, #BM_SETSTATE,1,0)
- relevé:
SendMessage_(GadgetID, #BM_SETSTATE,0,0)
Code : Tout sélectionner
If OpenWindow(0,0,0,222,200,#PB_Window_SystemMenu|#PB_Window_ScreenCentered,"ButtonGadgets") And CreateGadgetList(WindowID(0))
CreateImage(0, 50, 50)
ButtonGadget(0, 10, 10, 200, 20, "Standard Button")
ButtonImageGadget(1,10, 40, 50, 50,UseImage(0))
SendMessage_(GadgetID(0),#BM_SETSTATE,1,0)
SendMessage_(GadgetID(1),#BM_SETSTATE,1,0)
Repeat : Until WaitWindowEvent()=#PB_Event_CloseWindow
EndIf
Publié : mar. 04/oct./2005 18:47
par Dräc
Donc, si vous voulez un ButtonImageGadget() avec l’option 'Toogle' faite ainsi :
Code : Tout sélectionner
If OpenWindow(0,0,0,240,200,#PB_Window_SystemMenu|#PB_Window_ScreenCentered,"A toggle ButtonImageGadget") And CreateGadgetList(WindowID(0))
CreateImage(0, 50, 50)
ButtonGadget(0, 10, 10, 50, 50, "", #PB_Button_Toggle| #BS_BITMAP)
SendMessage_(GadgetID(0), #BM_SETIMAGE, #IMAGE_BITMAP, UseImage(0))
Repeat : Until WaitWindowEvent()=#PB_Event_CloseWindow
EndIf
Il est où le toggle sur un buttonimagegadget() ?
Publié : sam. 12/juil./2008 23:23
par Xizvak
Bonjour, j'ai été un peu surpris de voir qu'il n'y avait pas d'option Toggle pour un bouton image... J'ai alors cherché sur le forum et je suis tombé ici, désolé de remonter le topic de 2005 mais ça peut tjs être utile :s
Quelqu'un aurait une solution ?
Re: Il est où le toggle sur un buttonimagegadget() ?
Publié : sam. 12/juil./2008 23:35
par Backup
Xizvak a écrit :Bonjour, j'ai été un peu surpris de voir qu'il n'y avait pas d'option Toggle pour un bouton image... J'ai alors cherché sur le forum et je suis tombé ici, désolé de remonter le topic de 2005 mais ça peut tjs être utile :s
Quelqu'un aurait une solution ?
heu tu as lu la reponse de Drac juste au dessus de ton message ??

Publié : sam. 12/juil./2008 23:37
par Xizvak
J'ai oublié de préciser que ça ne marchait pas :s
Publié : dim. 13/juil./2008 6:24
par Chris
Bien sûr qu'il y a une option "Toggle" pour le bouton image. C'est #PB_Button_Toggle
Publié : dim. 13/juil./2008 7:04
par comtois
il faut actualiser le code pour la 4.20
Code : Tout sélectionner
If OpenWindow(0,0,0,222,200,"ButtonGadgets",#PB_Window_SystemMenu|#PB_Window_ScreenCentered) And CreateGadgetList(WindowID(0))
CreateImage(0, 50, 50)
StartDrawing(ImageOutput(0))
Box(0,0,50,50,#Blue)
Box(1,1,48,48,#White)
StopDrawing()
ButtonGadget(0, 10, 10, 200, 20, "Standard Button",#PB_Button_Toggle)
ButtonImageGadget(1,10, 40, 50, 50,ImageID(0),#PB_Button_Toggle)
Repeat : Until WaitWindowEvent()=#PB_Event_CloseWindow
EndIf