toggle button

Vous avez une idée pour améliorer ou modifier PureBasic ? N'hésitez pas à la proposer.
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

toggle button

Message 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:
Fred
Site Admin
Messages : 2652
Inscription : mer. 21/janv./2004 11:03

Message par Fred »

Essaye SetGadgetState() deja ;)
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message 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 :)
julien
Messages : 846
Inscription : ven. 30/janv./2004 15:06
Contact :

Message par julien »

ce qui rejoint à mettre à jour l'aide française
Dräc
Messages : 526
Inscription : dim. 29/août/2004 0:45

Message 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() !? :)
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

C'est sûr ca simplifierai tout
Ca permetrait peut etre même de combiner texte et image ^^

Dri
Dräc
Messages : 526
Inscription : dim. 29/août/2004 0:45

Message 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
Dräc
Messages : 526
Inscription : dim. 29/août/2004 0:45

Message 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
Xizvak
Messages : 10
Inscription : mar. 22/avr./2008 18:30

Il est où le toggle sur un buttonimagegadget() ?

Message 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 ?
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Il est où le toggle sur un buttonimagegadget() ?

Message 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
Xizvak
Messages : 10
Inscription : mar. 22/avr./2008 18:30

Message par Xizvak »

J'ai oublié de préciser que ça ne marchait pas :s
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

Bien sûr qu'il y a une option "Toggle" pour le bouton image. C'est #PB_Button_Toggle
comtois
Messages : 5172
Inscription : mer. 21/janv./2004 17:48
Contact :

Message 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
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Répondre