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 :lol:

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 ?? 8O

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