[RESOLU] Tester état d'un DisableGadget

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
omega
Messages : 633
Inscription : sam. 26/nov./2011 13:04
Localisation : Alger

[RESOLU] Tester état d'un DisableGadget

Message 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
Dernière modification par omega le sam. 06/nov./2021 13:32, modifié 1 fois.
Win7 (x64) 64 bits Pb 5.72
Avatar de l’utilisateur
Mindphazer
Messages : 695
Inscription : mer. 24/août/2005 10:42

Re: Tester etat d'un DisableGadget

Message par Mindphazer »

Bureau : Win10 64bits
Maison : Macbook Pro M3 16" SSD 512 Go / Ram 24 Go - iPad Pro 32 Go (pour madame) - iPhone 15 Pro Max 256 Go
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Tester etat d'un DisableGadget

Message 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
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
Mindphazer
Messages : 695
Inscription : mer. 24/août/2005 10:42

Re: Tester etat d'un DisableGadget

Message par Mindphazer »

C'est pas mal aussi comme idée, j'aime bien
Bureau : Win10 64bits
Maison : Macbook Pro M3 16" SSD 512 Go / Ram 24 Go - iPad Pro 32 Go (pour madame) - iPhone 15 Pro Max 256 Go
Avatar de l’utilisateur
omega
Messages : 633
Inscription : sam. 26/nov./2011 13:04
Localisation : Alger

Re: Tester etat d'un DisableGadget

Message par omega »

Merci à vous

Les 2 solutions sont valables... Bravo !

Merci encore et bonne continuation
Win7 (x64) 64 bits Pb 5.72
Répondre