Page 1 sur 1
[R] Quitter une Gui d'une autre Gui
Posté : sam. 03 déc. 2011 18:30
par locos974
Bonjour,
Je cherche comment faire pour quitter une GUI(2) qui a été ouverte par ma GUI(1) sans quitter la GUI(1) ?
Je suis sur que cela est très simple mais je n'est pas trouver..
J'ai essayer :
mais cela me rajoute la même GUI(2)...
Merci d'avance.
Re: [..] Quitter une Gui d'une autre Gui
Posté : sam. 03 déc. 2011 23:12
par Tlem
2 solutions :
- Soit vous voulez cacher la 2nd GUI pour l'utiliser ultérieurement et dans ce cas utilisez : GUISetState(@SW_HIDE, $HandleDeVotreGUI2)
- Soit vous voulez supprimer la 2nd GUI car elle ne sert plus à rien et dans ce cas c'est plutôt : GUIDelete($HandleDeVotreGUI2)
Re: [..] Quitter une Gui d'une autre Gui
Posté : dim. 04 déc. 2011 08:33
par mikell
Si la fermeture se fait par un bouton "exit" dans la gui pas de problème avec GUIDelete($gui_2)
Si c'est par la croix en haut à droite et $GUI_EVENT_CLOSE alors
Code : Tout sélectionner
While 1
$nMsg = GUIGetMsg([b]1[/b]) [color=#008000]; <= voir l'aide[/color]
Select
Case $nMsg[0] = $GUI_EVENT_CLOSE
If $nMsg[1] = $gui_2 Then [color=#008000]; fenêtre fille[/color]
GUIDelete($gui_2) [color=#008000]; on ferme la fenêtre fille[/color]
Else [color=#008000]; fenêtre principale[/color]
Exit [color=#008000]; on ferme tout[/color]
EndIf
EndSelect
Wend
Sujet déjà traité
ici (entre autres)
Re: [..] Quitter une Gui d'une autre Gui
Posté : dim. 04 déc. 2011 13:10
par locos974
Voici mon code, mais je n'arrive toujours pas comment faire fermer la gui2 sans supprimer la Gui1...
Code : Tout sélectionner
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form2 = GUICreate("test.", 361, 127, 406, 321)
$Button1 = GUICtrlCreateButton("test", 16, 24, 65, 25, $WS_GROUP)
$Button6 = GUICtrlCreateButton("Aide", 280, 8, 73, 49, $WS_GROUP)
$Button7 = GUICtrlCreateButton("Quitter", 280, 72, 73, 49, $WS_GROUP)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE ;==> Bouton : X
Exit
Case $Button1 ;==> Bouton : gui2
_Gui1()
Case $Button6 ;==> Bouton : Aide
Case $Button7 ;==> Bouton : Quitter
Exit
EndSwitch
WEnd
Func _Gui1() ;==> Début Gui1
$Form1 = GUICreate("teste.", 335, 186, 398, 202)
$Button11 = GUICtrlCreateButton("Quitter", 240, 64, 81, 49, $WS_GROUP)
$Button10 = GUICtrlCreateButton("Accueil", 240, 8, 81, 49, $WS_GROUP)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button10
Exit
Case $Button11
GUIDELETE(_gui1())
;==> Début fonction
;==> Fin fonction
EndSwitch
WEnd
EndFunc ;==> Fin Gui1
Re: [..] Quitter une Gui d'une autre Gui
Posté : dim. 04 déc. 2011 15:27
par mikell
Tlem a écrit :- Soit vous voulez supprimer la 2nd GUI car elle ne sert plus à rien et dans ce cas c'est plutôt : GUIDelete($HandleDeVotreGUI2)
l'aide a écrit :GUIDelete ( [winhandle] )
winhandle : Windows handle as returned by GUICreate
C'est pourtant clair non ?

Re: [..] Quitter une Gui d'une autre Gui
Posté : dim. 04 déc. 2011 16:15
par locos974
Exacte mais pourtant j'avais déjà fait mais peut être que je n'avais pas renomée les Form..
Merci beaucoup une fois de plus !