Bouton sélectionné (Avec un cadre autour)
Publié : ven. 22/avr./2005 11:11
Salut
un petit exemple pour sélectionner un bouton (mettre un cadre autour)
Comme le bouton par défaut dans les messagerequester par exemple
Donc le code montre comment faire un bouton directement sélectionné et comment changer son état par la suite.
Ca marche avec les ButtonGadget et les ButtonImageGadget
un petit exemple pour sélectionner un bouton (mettre un cadre autour)
Comme le bouton par défaut dans les messagerequester par exemple

Donc le code montre comment faire un bouton directement sélectionné et comment changer son état par la suite.
Ca marche avec les ButtonGadget et les ButtonImageGadget
Code : Tout sélectionner
; Auteur : Le Soldat Inconnu
; Version de PB : 3.93
;
; Explication du programme :
; Bouton sélectionné (Avec un cadre autour pour mettre le bouton en surbrillance)
; Création de la fenêtre principale
OpenWindow(0, 0, 0, 300, 300, #PB_Window_SystemMenu | #PB_Window_ScreenCentered | #PB_Window_MinimizeGadget, "Test")
CreateGadgetList(WindowID())
ButtonGadget(0, 10, 10, 200, 25, "Bouton 1", #BS_DEFPUSHBUTTON) ; Bouton sélectionné (avec un cadre autour)
Bouton0_Etat = 1
ButtonGadget(1, 10, 40, 200, 25, "Bouton 2")
Bouton1_Etat = 0
ButtonImageGadget(2, 10, 70, 200, 48, LoadIcon_(0, #IDI_APPLICATION))
Bouton2_Etat = 0
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_EventGadget
Select EventGadgetID()
Case 0 ; Bouton normal
If Bouton0_Etat
SetWindowLong_(GadgetID(0), #GWL_STYLE, GetWindowLong_(GadgetID(0), #GWL_STYLE) & ~#BS_DEFPUSHBUTTON)
; Le bouton n'est plus sélectionné
Bouton0_Etat = 0
Else
SetWindowLong_(GadgetID(0), #GWL_STYLE, GetWindowLong_(GadgetID(0), #GWL_STYLE) | #BS_DEFPUSHBUTTON)
; Le bouton devient sélectionné
Bouton0_Etat = 1
EndIf
Case 1
If Bouton1_Etat
SetWindowLong_(GadgetID(1), #GWL_STYLE, GetWindowLong_(GadgetID(1), #GWL_STYLE) & ~#BS_DEFPUSHBUTTON)
Bouton1_Etat = 0
Else
SetWindowLong_(GadgetID(1), #GWL_STYLE, GetWindowLong_(GadgetID(1), #GWL_STYLE) | #BS_DEFPUSHBUTTON)
Bouton1_Etat = 1
EndIf
Case 2 ; Bouton avec image
If Bouton2_Etat
SetWindowLong_(GadgetID(2), #GWL_STYLE, GetWindowLong_(GadgetID(2), #GWL_STYLE) & ~#BS_DEFPUSHBUTTON)
Bouton2_Etat = 0
Else
SetWindowLong_(GadgetID(2), #GWL_STYLE, GetWindowLong_(GadgetID(2), #GWL_STYLE) | #BS_DEFPUSHBUTTON)
Bouton2_Etat = 1
EndIf
EndSelect
EndSelect
Until Event = #PB_EventCloseWindow