bonjour
juste une petite question
quand je crée une application et je crée un bouton ou un menu pour faire apparaitre une deuxieme fenetre
pour la deuxieme fenetre j'utilise :
repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
fermer=1
EndSelect
Until fermer=1
CloseWindow(#fenetre_voir)
While WindowEvent():Wend
je cherche un autre moyen de fermer cette deuxieme fenetre quand on clique sur la croix
petite question sur une boucle svp
Tu n'est pas obligé de refaire une boucle à chaque fenêtre.
La boucle de la première peut très bien gérer les évènements des autres fenêtres, (sauf, évidement, si tu dois pouvoir fermer la première fenêtre sans fermer les autres).
Pour savoir sur quelle fenêtre se trouve le bouton de fermeture sur lequel tu cliques, il y a EventWindowID() qui te renvoie le numéro de la fenêtre.
La boucle de la première peut très bien gérer les évènements des autres fenêtres, (sauf, évidement, si tu dois pouvoir fermer la première fenêtre sans fermer les autres).
Pour savoir sur quelle fenêtre se trouve le bouton de fermeture sur lequel tu cliques, il y a EventWindowID() qui te renvoie le numéro de la fenêtre.
Code : Tout sélectionner
Enumeration
#Window_0
#Window_1
EndEnumeration
Enumeration
#Btn_NewWIndow0
#Btn_NewWIndow1
EndEnumeration
If OpenWindow(#Window_0, 100, 100, 200, 100, #PB_Window_SystemMenu , "Fenêtre 1",0)
If CreateGadgetList(WindowID(#Window_0))
ButtonGadget(#Btn_NewWIndow0, WindowWidth()/2 - 50, WindowHeight()-40, 100, 25, "Nouvelle")
EndIf
EndIf
Repeat
Select WindowEvent()
Case #PB_EventGadget
Select EventGadgetID()
Case #Btn_NewWIndow0
If OpenWindow(#Window_1, 330, 100, 200, 100, #PB_Window_SystemMenu , "Fenêtre 2",0)
If CreateGadgetList(WindowID(#Window_1))
ButtonGadget(#Btn_NewWIndow1, WindowWidth()/2 - 50, WindowHeight()-40, 100, 25, "Bouton")
EndIf
EndIf
Case #Btn_NewWIndow1
EndSelect
Case #PB_EventCloseWindow
Select EventWindowID()
Case #Window_0
Quit = 1
Case #Window_1
CloseWindow(#Window_1)
UseWindow(#Window_0)
EndSelect
EndSelect
Until Quit = 1
End
Ben, ça revient au même!
Code : Tout sélectionner
Case #Btn_NewWIndow1
CloseWindow(#Window_1)
UseWindow(#Window_0)
- Crystal Noir
- Messages : 892
- Inscription : mar. 27/janv./2004 10:07