[R] Multi fenêtres

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
ValWatt
Niveau 1
Niveau 1
Messages : 9
Enregistré le : jeu. 07 août 2008 16:32
Status : Hors ligne

[R] Multi fenêtres

#1

Message par ValWatt »

Bonjour,

Je cherche un programme qui
-affiche une 2ième fenêtre (je sais faire)
-et qui ferme sur demande ($GUI_EVENT_CLOSE) cette 2ième fenêtre tout en laissant visible la 1ère (c'est là que je ne sais pas).

ci dessous exemple du code :

Programme Parent.au3

Code : Tout sélectionner

#Region ### START Koda GUI section ### Form=
$ParentWin = GUICreate("  Parent", 251, 307, 193, 125)
$Combo1 = GUICtrlCreateCombo("", 48, 64, 129, 25)
GUICtrlSetData(-1, "A|B|C|D|E")
$Combo2 = GUICtrlCreateCombo("", 48, 128, 129, 25)
GUICtrlSetData(-1, "1|2|3|4|5")
$Button1 = GUICtrlCreateButton("Button1", 72, 208, 81, 33, 0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        case $Button1
            $T=GUICtrlRead($Combo1)
            $N=GUICtrlRead($Combo2)
            ;GUISwitch($parent2)
            trans($T,$N)
    EndSwitch
WEnd

Func trans($T,$N)
    #include<Enf.au3>
EndFunc

Programme Enf.au3

Code : Tout sélectionner

#include <GUIConstants.au3>

#Region ### START Koda GUI section ### Form=
$parent2 = GUICreate("Enfant", 633, 447, 193, 125)
$Label1 = GUICtrlCreateLabel("Fenêtre enfant", 64, 48, 140, 34)
GUICtrlSetFont(-1, 14, 800, 0, "Papyrus")
GUICtrlSetColor(-1, 0xFF0000)
$Input1 = GUICtrlCreateInput("Input1", 56, 86, 137, 21)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

$M=$N & "-" & $T
GUICtrlSetData($Input1,$M)
While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            WinKill("[ACTIVE]", "")
            GUISwitch($ParentWin)
    EndSwitch
WEnd
Modifié en dernier par Tlem le dim. 17 août 2008 22:55, modifié 3 fois.
Raison : Ajout de la balise [..] & code
SagePourpre
Niveau 7
Niveau 7
Messages : 442
Enregistré le : dim. 06 juil. 2008 09:11
Status : Hors ligne

Re: Multi fenêtres

#2

Message par SagePourpre »

Voilà.
► Afficher le texte
Il ne te reste plus qu'à adapter le code selon ce que tu veux faire...
Le Sage Pourpre, pour qui la vie est tellement
plus belle vue du haut de son Pouf = )
ValWatt
Niveau 1
Niveau 1
Messages : 9
Enregistré le : jeu. 07 août 2008 16:32
Status : Hors ligne

Re: Multi fenêtres

#3

Message par ValWatt »

Merci.

Après plusieurs recherches, j'ai trouvé une solution :

Code : Tout sélectionner

[color=#BF0000]Code Parent.au3 :[/color]
Region ### START Koda GUI section ### Form=
$ParentWin = GUICreate("Parent", 251, 307, 193, 125)
$Combo1 = GUICtrlCreateCombo("", 48, 64, 129, 25)
GUICtrlSetData(-1, "A|B|C|D|E")
$Combo2 = GUICtrlCreateCombo("", 48, 128, 129, 25)
GUICtrlSetData(-1, "1|2|3|4|5")
$Button1 = GUICtrlCreateButton("Enfant", 32, 208, 81, 33, 0)
$BtnQuitter = GUICtrlCreateButton("Quitter", 122, 208, 81, 33, 0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###


Do
   $msg=GUIGetMsg()
   Switch $msg
                        case $Button1
            $T=GUICtrlRead($Combo1)
            $N=GUICtrlRead($Combo2)
            trans($T,$N)
        Case $BtnQuitter
            Exit
    
     EndSwitch
until $msg = $GUI_EVENT_CLOSE

Func trans($T,$N)
    #include<Enf.au3>
EndFunc

[color=#800000]Code Enfant.au3 :[/color]
#include <GUIConstants.au3>

#Region ### START Koda GUI section ### Form=
$parent2 = GUICreate("Enfant", 633, 447, 193, 125,$DS_MODALFRAME)
$Label1 = GUICtrlCreateLabel("Fenêtre enfant", 64, 48, 140, 34)
GUICtrlSetFont(-1, 14, 800, 0, "Papyrus")
GUICtrlSetColor(-1, 0xFF0000)
$Input1 = GUICtrlCreateInput("Input1", 56, 86, 137, 21)
$Button2 = GUICtrlCreateButton("Fermer", 72, 208, 81, 33, 0)

GUISetState(@SW_SHOW,$parent2)
#EndRegion ### END Koda GUI section ###

$M=$N & "-" & $T
GUICtrlSetData($Input1,$M)

Do
        $msg2=GUIGetMsg()
        if $msg2=$Button2 then 
           MsgBox(0,"Btn","OK")
                    WinSetState("Enfant", "", @SW_HIDE)
        EndIf
until $msg2 = $Button2


 
Répondre