Page 1 sur 1
[RESOLU] Tester état d'un DisableGadget
Publié : ven. 05/nov./2021 14:07
par omega
Bonjour,
J'ai un gadget qui est parfois activé parfois non (DisableGadget(0,Etat)), y a t-il un moyen de savoir la valeur de l'état du gadget (si le gadget est activé ou pas)?
Merci
Re: Tester etat d'un DisableGadget
Publié : ven. 05/nov./2021 14:26
par Mindphazer
Re: Tester etat d'un DisableGadget
Publié : ven. 05/nov./2021 15:32
par Ar-S
Pour ma part je procéderai comme ça.
Code : Tout sélectionner
; Proce qui remplace DisableGadget et qui ajoute un état
Procedure ToggleGadgetState(gad)
If GetGadgetData(gad) = 0 Or GetGadgetData(gad) = 2
DisableGadget(gad,1)
SetGadgetData(gad,1)
Else
DisableGadget(gad,0)
SetGadgetData(gad,2)
EndIf
EndProcedure
; Proce qui récupère cet état
Procedure CatchGadgetState(gad)
;0 : non initialisé
;1 : disable
;2 : enable
ProcedureReturn GetGadgetData(gad)
EndProcedure
If OpenWindow(0, 0, 0, 220, 100, "Exemple...", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ButtonGadget (1, 10, 10, 200, 30, "Quitter")
ButtonGadget (2, 10, 40, 200, 30, "clic")
Debug "clic sur le bouton 2 (résultat 1 = gadget disable - Résultat 2 = gadget enable)"
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_Event_Gadget
Select EventGadget()
Case 1
CloseWindow(0)
End
Case 2
clic = ToggleGadgetState(1)
Debug "Gadget 1 : " + CatchGadgetState(1)
EndSelect
EndSelect
Until Event = #PB_Event_CloseWindow
EndIf
Re: Tester etat d'un DisableGadget
Publié : ven. 05/nov./2021 16:40
par Mindphazer
C'est pas mal aussi comme idée, j'aime bien
Re: Tester etat d'un DisableGadget
Publié : ven. 05/nov./2021 23:13
par omega
Merci à vous
Les 2 solutions sont valables... Bravo !
Merci encore et bonne continuation