Code : Tout sélectionner
Enumeration
#Main
#Fenetre1
#Fenetre2
#Fenetre3
#Fenetre4
#Fenetre5
EndEnumeration
Enumeration
#Bouton1
#Bouton2
#Bouton3
#Bouton4
#Bouton5
#BoutonFenetre1
#BoutonFenetre2
#BoutonFenetre3
#BoutonFenetre4
#BoutonFenetre5
#Text
EndEnumeration
Procedure OpenWin_Main()
If OpenWindow(#Main, 0, 0, 220, 200, "Fenetres", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ButtonGadget(#Bouton1, 10, 10, 200, 20, "Ouvrir fenêtre 1")
ButtonGadget(#Bouton2, 10, 40, 200, 20, "Ouvrir fenêtre 2")
ButtonGadget(#Bouton3, 10, 70, 200, 20, "Ouvrir fenêtre 3")
ButtonGadget(#Bouton4, 10, 100, 200, 20, "Ouvrir fenêtre 4")
ButtonGadget(#Bouton5, 10, 130, 200, 20, "Ouvrir fenêtre 5")
TextGadget(#Text, 10, 180, 200, 20, "Pas de fenêtre ouverte", #PB_Text_Center)
EndIf
EndProcedure
Procedure OpenWin_1()
If OpenWindow(#Fenetre1, 0, 0, 220, 40, "Fenetre 1", #PB_Window_SystemMenu, WindowID(#Main))
ButtonGadget(#BoutonFenetre1, 10, 10, 200, 20, "Fermer fenêtre 1")
ProcedureReturn #True
EndIf
EndProcedure
Procedure OpenWin_2()
If OpenWindow(#Fenetre2, 0, 70, 220, 40, "Fenetre 2", #PB_Window_SystemMenu, WindowID(#Main))
ButtonGadget(#BoutonFenetre2, 10, 10, 200, 20, "Fermer fenêtre 2")
ProcedureReturn #True
EndIf
EndProcedure
Procedure OpenWin_3()
If OpenWindow(#Fenetre3, 0, 140, 220, 40, "Fenetre 3", #PB_Window_SystemMenu, WindowID(#Main))
ButtonGadget(#BoutonFenetre3, 10, 10, 200, 20, "Fermer fenêtre 3")
ProcedureReturn #True
EndIf
EndProcedure
Procedure OpenWin_4()
If OpenWindow(#Fenetre4, 0, 210, 220, 40, "Fenetre 4", #PB_Window_SystemMenu, WindowID(#Main))
ButtonGadget(#BoutonFenetre4, 10, 10, 200, 20, "Fermer fenêtre 4")
ProcedureReturn #True
EndIf
EndProcedure
Procedure OpenWin_5()
If OpenWindow(#Fenetre5, 0, 280, 220, 40, "Fenetre 5", #PB_Window_SystemMenu, WindowID(#Main))
ButtonGadget(#BoutonFenetre5, 10, 10, 200, 20, "Fermer fenêtre 5")
ProcedureReturn #True
EndIf
EndProcedure
OpenWin_Main()
Repeat
Select WaitWindowEvent()
Case #PB_Event_Gadget
Select EventGadget()
;/ Ouverture des fenêtres "fille"
Case #Bouton1
If OpenWin_1()
SetGadgetText(#Text, "Vous avez ouvert la fenêtre 1")
EndIf
Case #Bouton2
If OpenWin_2()
SetGadgetText(#Text, "Vous avez ouvert la fenêtre 2")
EndIf
Case #Bouton3
If OpenWin_3()
SetGadgetText(#Text, "Vous avez ouvert la fenêtre 3")
EndIf
Case #Bouton4
If OpenWin_4()
SetGadgetText(#Text, "Vous avez ouvert la fenêtre 4")
EndIf
Case #Bouton5
If OpenWin_5()
SetGadgetText(#Text, "Vous avez ouvert la fenêtre 5")
EndIf
;/ Femeture des fenêtres "fille" par le bouton
Case #BoutonFenetre1
SetGadgetText(#Text, "Vous avez fermé la fenêtre 1")
CloseWindow(#Fenetre1)
Case #BoutonFenetre2
SetGadgetText(#Text, "Vous avez fermé la fenêtre 2")
CloseWindow(#Fenetre2)
Case #BoutonFenetre3
SetGadgetText(#Text, "Vous avez fermé la fenêtre 3")
CloseWindow(#Fenetre3)
Case #BoutonFenetre4
SetGadgetText(#Text, "Vous avez fermé la fenêtre 4")
CloseWindow(#Fenetre4)
Case #BoutonFenetre5
SetGadgetText(#Text, "Vous avez fermé la fenêtre 5")
CloseWindow(#Fenetre5)
EndSelect
Case #PB_Event_CloseWindow
Select EventWindow()
;/ Fermeture des fenêtres "fille" par l'icône [X]
Case #Fenetre1
SetGadgetText(#Text, "Vous avez fermé la fenêtre 1")
CloseWindow(#Fenetre1)
Case #Fenetre2
SetGadgetText(#Text, "Vous avez fermé la fenêtre 2")
CloseWindow(#Fenetre2)
Case #Fenetre3
SetGadgetText(#Text, "Vous avez fermé la fenêtre 3")
CloseWindow(#Fenetre3)
Case #Fenetre4
SetGadgetText(#Text, "Vous avez fermé la fenêtre 4")
CloseWindow(#Fenetre4)
Case #Fenetre5
SetGadgetText(#Text, "Vous avez fermé la fenêtre 5")
CloseWindow(#Fenetre5)
;/ Fermeture de la fenêtre principale (et fin du programme)
Case #Main
Quit = #True
EndSelect
EndSelect
Until Quit
End