Non, meganet.
Comme le dit Ulix, la commande GetActiveGadget() renvoie le gadget qui a le focus. (Il n'y a d'ailleurs pas de paramètre qu'on puisse passer pour tester l'état d'un gadget en particulier).
Pour tester l'état d'un gadget (Actif / Inactif), il faut passer par l'api avec la fonction IsWindowEnabled_(GadgetID(#Gadget))
Code : Tout sélectionner
#Win = 0
Enumeration
#Btn_0
#Btn_1
#Str_0
#Str_1
#Rad_0
#Rad_1
#IPA_0
#IPA_1
#Chk_0
#Chk_1
#Cmb_0
#Cmb_1
#Pnl_0
EndEnumeration
If OpenWindow(#Win, 332, 309, 250, 226, "Disable/enable buttons...", #PB_Window_SystemMenu | #PB_Window_TitleBar | #PB_Window_ScreenCentered )
If CreateGadgetList(WindowID(#Win))
ButtonGadget(#Btn_0, 5, 5, 230, 20, "Bouton 0") : DisableGadget(#Btn_0, 1)
ButtonGadget(#Btn_1, 5, 25, 230, 20, "Bouton 1")
StringGadget(#Str_0, 5, 50, 230, 20, "StringGadget 0") : DisableGadget(#Str_0, 1)
StringGadget(#Str_1, 5, 75, 230, 20, "StringGadget 1")
PanelGadget(#Pnl_0, 5, 100, 240, 115)
AddGadgetItem(#Pnl_0, 1, "Tab 1")
OptionGadget(#Rad_0, 8, 13, 80, 20, "Radio 0") : DisableGadget(#Rad_0, 1)
OptionGadget(#Rad_1, 8, 38, 80, 20, "Radio 1")
IPAddressGadget(#IPA_0, 8, 63, 105, 20) : DisableGadget(#IPA_0, 1)
IPAddressGadget(#IPA_1, 123, 63, 105, 20)
CheckBoxGadget(#Chk_0, 113, 13, 115, 20, "Check 0") : DisableGadget(#Chk_0, 1)
CheckBoxGadget(#Chk_1, 113, 38, 115, 15, "Check 1")
AddGadgetItem(#Pnl_0, 2, "Tab 2")
ComboBoxGadget(#Cmb_0, 8, 8, 220, 20) : DisableGadget(#Cmb_0, 1)
ComboBoxGadget(#Cmb_1, 8, 33, 220, 20)
CloseGadgetList()
EndIf
AddGadgetItem(#Cmb_0, -1, "Combo 0") : SetGadgetState(#Cmb_0, 0)
AddGadgetItem(#Cmb_1, -1, "Combo 1") : SetGadgetState(#Cmb_1, 0)
SetGadgetState(#IPA_0, MakeIPAddress(0, 0, 0, 0))
SetGadgetState(#IPA_1, MakeIPAddress(1, 1, 1, 1))
If IsWindowEnabled_(GadgetID(#Btn_0)) : Msg1$ = "Bouton 0 Actif" : Else : Msg1$ = "Bouton 0 Inactif" : EndIf
If IsWindowEnabled_(GadgetID(#Btn_1)) : Msg2$ = "Bouton 1 Actif" : Else : Msg2$ = "Bouton 1 Inactif" : EndIf
If IsWindowEnabled_(GadgetID(#Str_0)) : Msg3$ = "String 0 Actif" : Else : Msg3$ = "String 0 Inactif" : EndIf
If IsWindowEnabled_(GadgetID(#Str_1)) : Msg4$ = "String 1 Actif" : Else : Msg4$ = "String 1 Inactif" : EndIf
If IsWindowEnabled_(GadgetID(#Rad_0)) : Msg5$ = "Radio 0 Actif" : Else : Msg5$ = "Radio 0 Inactif" : EndIf
If IsWindowEnabled_(GadgetID(#Rad_1)) : Msg6$ = "Radio 1 Actif" : Else : Msg6$ = "Radio 1 Inactif" : EndIf
If IsWindowEnabled_(GadgetID(#IPA_0)) : Msg7$ = "IP 0 Actif" : Else : Msg7$ = "IP 0 Inactif" : EndIf
If IsWindowEnabled_(GadgetID(#IPA_1)) : Msg8$ = "IP 1 Actif" : Else : Msg8$ = "IP 1 Inactif" : EndIf
If IsWindowEnabled_(GadgetID(#Chk_0)) : Msg9$ = "Check 0 Actif" : Else : Msg9$ = "Check 0 Inactif" : EndIf
If IsWindowEnabled_(GadgetID(#Chk_1)) : Msg10$ = "Check 1 Actif" : Else : Msg10$ = "Check 1 Inactif" : EndIf
If IsWindowEnabled_(GadgetID(#Cmb_0)) : Msg11$ = "Combo 0 Actif" : Else : Msg11$ = "Combo 0 Inactif" : EndIf
If IsWindowEnabled_(GadgetID(#Cmb_1)) : Msg12$ = "Combo 1 Actif" : Else : Msg12$ = "Combo 1 Inactif" : EndIf
MessageRequester("Etat des Gadgets", Msg1$+#lf$+Msg2$+#lf$+Msg3$+#lf$+Msg4$+#lf$+Msg5$+#lf$+Msg6$+#lf$+Msg7$+#lf$+Msg8$+#lf$+Msg9$+#lf$+Msg10$+#lf$+Msg11$+#lf$+Msg12$)
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf