[R] Quitter une Gui d'une autre Gui

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
locos974
Niveau 5
Niveau 5
Messages : 187
Enregistré le : sam. 08 oct. 2011 22:07
Status : Hors ligne

[R] Quitter une Gui d'une autre Gui

#1

Message 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 :

Code : Tout sélectionner

Exit _Gui2()
mais cela me rajoute la même GUI(2)...

Merci d'avance.
Modifié en dernier par locos974 le dim. 04 déc. 2011 16:15, modifié 1 fois.
Cordialement Locos974.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Quitter une Gui d'une autre Gui

#2

Message 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)
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Quitter une Gui d'une autre Gui

#3

Message 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)
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
locos974
Niveau 5
Niveau 5
Messages : 187
Enregistré le : sam. 08 oct. 2011 22:07
Status : Hors ligne

Re: [..] Quitter une Gui d'une autre Gui

#4

Message 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
 
Cordialement Locos974.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Quitter une Gui d'une autre Gui

#5

Message 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 ?

Code : Tout sélectionner

$Form1 = GUICreate... etc

        Case $Button11
            GUIDELETE($Form1)
:roll:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
locos974
Niveau 5
Niveau 5
Messages : 187
Enregistré le : sam. 08 oct. 2011 22:07
Status : Hors ligne

Re: [..] Quitter une Gui d'une autre Gui

#6

Message 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 !
Cordialement Locos974.
Répondre