ein GUI öffnen und ein GUI schließen

  • Hey Leute, ich hab eine Frage zum Thema GUI.

    Wie ich ein GUI ($Form1) öffne ist klar, mein Ziel ist es jetzt auf den Button $Close drücke, soll $Form1 geschlossen werden und ein zweites GUI ($Form2) geöffnet werden.

    mein Lösungsansatz wäre:

    [autoit]


    Case $Button1
    GUIDelete($Form1)
    _neuesFensterOeffnen()

    [/autoit][autoit][/autoit][autoit]

    Func _neuesFensterOeffnen()
    ...
    ...
    EndFunc

    [/autoit]

    Allerdings wil ich es irgendwie ohne Funktion hin bekommen. Vorschläge bitte;D

  • Nahja von der Theorie her kannste auch mit GUISetState(@SW_HIDE, $msg) die gui verschwinden lassen und mit @SW_SHOW die andere anzeigen ausnahme du willste die wirklich weg haben dann wird es schwieriger. Dann die aktuelle löschen und nur ein SHOW auf den zweiten gui machen

    Gruss DevFly

  • naja gedacht wars eig so, ich drück den button, der script wertet 2 input's aus, und schreibt diese in zwei variablen, (ist kein problem), danach soll halt das erste fenster geschlossen werden und das zweie geöffnet werden.

  • Hier ein beispiel ohne Funktion mit HIDE/SHOW

    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 418, 112, 192, 124)
    $Label1 = GUICtrlCreateLabel("Ich bin das erste GUI", 112, 32, 124, 17)
    $Button1 = GUICtrlCreateButton("Klick", 296, 64, 75, 25)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    #Region ### START Koda GUI section ### Form=
    $Form2 = GUICreate("Form2", 418, 112, 192, 124)
    $Label2 = GUICtrlCreateLabel("Ich bin das zweite GUI", 112, 32, 124, 17)
    $Button2 = GUICtrlCreateButton("Zurück", 144, 64, 75, 25)
    GUISetState(@SW_HIDE)
    #EndRegion ### END Koda GUI section ###

    [/autoit][autoit][/autoit][autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    GUISetState(@SW_HIDE, $Form1) ;Alternative GUIDelete dann aber Button2 weg lassen
    GUISetState(@SW_SHOW, $Form2)
    Case $Button2
    GUISetState(@SW_HIDE, $Form2)
    GUISetState(@SW_SHOW, $Form1)
    EndSwitch
    WEnd

    [/autoit]