et chris m'a expliquer une autre methode plus simple
voila un exemple que j'ai ecris : ( j'ai ecris comme un cochon excuser moi, je pense à Dobro qui soigne ces codes )
Code : Tout sélectionner
Enumeration
#fenetre_main
#fenetre_fille
EndEnumeration
Enumeration
#bouton_open
#bouton_ouvrir
#bouton_fermer
EndEnumeration
Procedure message()
MessageRequester("Information","Fermer la fenetre svp",#PB_MessageRequester_Ok)
EndProcedure
Procedure main()
If OpenWindow(#fenetre_main,0,0,300,200,"test de fenetre",#PB_Window_MinimizeGadget|#PB_Window_SystemMenu|#PB_Window_ScreenCentered|#PB_Window_TitleBar)
If CreateGadgetList(WindowID(0))
ButtonGadget(#bouton_open,50,50,120,30,"Ouvrir fenetre")
EndIf
EndIf
EndProcedure
Procedure fenetrefille()
If OpenWindow(#fenetre_fille,0,0,200,120,"Fenetre_fille",#PB_Window_ScreenCentered)
If CreateGadgetList(WindowID(#fenetre_fille))
ButtonGadget(#bouton_ouvrir,50,10,120,30,"Ouvrir")
ButtonGadget(#bouton_fermer,50,50,120,30,"Fermer")
ProcedureReturn #True
EndIf
EndIf
EndProcedure
main()
Repeat
Select WaitWindowEvent()
Case #PB_Event_Gadget
Select EventGadget()
Case #bouton_open:fenetrefille()
Case #bouton_ouvrir:message()
CloseWindow(#fenetre_fille)
Case #bouton_fermer
CloseWindow(#fenetre_fille)
EndSelect
Case #PB_Event_CloseWindow
Select EventWindow()
Case #fenetre_main
Quit=#True
EndSelect
EndSelect
Until Quit
End