GUI Fensterschließen

  • Hllo zusammen,

    in meinem Sript habe ich folgendes Problem:

    (Zur Info alles sind GUI Fenster) Zunächst gibt es ein Fenster in dem man in drei RadioBoxen auswählen kann und die weilign Radio Boxen ein neues Fenster öffnen. Wenn ich diesen Fenster jetzt aber über das rote X rechts oben schließe schließt das ganze Script gleich mit.

    Gibt es irgentwo einen Befehl der Quasi durch das rote X nur das aktive Fenster schließt und man dann wieder das Fenster der drei Radio Boxen vor sich hat?

    Wäre sehr dankbar um Antworten ;)

    Mfg

  • Script posten pls :)
    Beispiel:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>

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

    $Form1 = GUICreate("Form1", 282, 187, 192, 124)
    $Label1 = GUICtrlCreateLabel("Fenster 1", 56, 64, 169, 52)
    GUICtrlSetFont(-1, 30, 400, 0, "MS Sans Serif")
    GUISetState(@SW_SHOW)

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

    $Form2 = GUICreate("Form2", 275, 213, 263, 266)
    $Label1 = GUICtrlCreateLabel("Fenster 2", 56, 64, 169, 52)
    GUICtrlSetFont(-1, 30, 400, 0, "MS Sans Serif")
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg(1) ;Erweiterte Rückgabe
    Switch $nMsg[0]
    Case $GUI_EVENT_CLOSE
    If $nMsg[1] = $Form2 Then GUIDelete($Form2) ;Beim schließen von Form2 wird Form2 gelöscht
    If $nMsg[1] = $Form1 Then Exit ;Beim schließen von Form1 wird Skript beendet
    EndSwitch
    WEnd

    [/autoit]
  • Du must eben den auszuführenden Befehl nach dem drücken des roten x abändern.

    z.b. über @SW_HIDE/@SW_Show

    [autoit]


    GUISetState(@SW_HIDE, $NebenGUI)
    GUISetState(@SW_SHOW, $HauptGUI)

    [/autoit]

    oder über

    [autoit]

    GUIDelete

    [/autoit]


    das jeweilige Fenster wieder löschen.

  • Also bei dem von Bugfix das wäre was ich haben will, das Problem dabei ist aber das man den denn diese RadioBox ja nicht noch einmal neu öffnen kann weil sie ja noch immer offen ist aber versteckt....

  • Das klappt ja auch super und funkt's aber leider kann man (jedenfalls so wie ich das gemacht habe) die gleiche Radio Box nocheinmal anklicken, sondern nur die anderen. Oder hb ich bei der eingabe was ausgelassen ich habe das jetzt so im SUB stehen:

    [autoit]


    Case $GUI_EVENT_CLOSE
    GUISetState(@SW_HIDE, $Form1_1)

    [/autoit]

    Das bewirkt das man wieder das Menü der RadioBoxen oder das "Master" Menü sieht aber man kann ja wie oben schon gesagt leider nicht mehr die gleiche RadioBox nochmal anwählen

  • Da Math und ich an einem Script schreiben, haben wir natürlich die gleichen Probleme, also ich versuche das Problem noch einmal zu schildern:

    Wir haben es jetzt hinbekommen, dass er wenn man eine Unter GUI schließt, wieder zur Haupt GUI zurückkehrt, und sie nicht schließt. Das ist schonmal sehr schön, aber das Problem ist jetzt, dass nun die Radio Boxes in der HAupt GUI nicht mehr wollen, oder zumindest wenn ich eine anklicke, und denn auf OK Klicke, denn öffnet sich nicht mehr das, was sich öffnen sollte, obwohl das beim ersten mal jan och funktioniert hat.

    Weiß jemand wie man danach die Radio Boxes oder den OK Button wieder aktiviert?


    MfG


    AutoGhost

  • oder zumindest wenn ich eine anklicke, und denn auf OK Klicke, denn öffnet sich nicht mehr das, was sich öffnen sollte, obwohl das beim ersten mal jan och funktioniert hat.

    Weiß jemand wie man danach die Radio Boxes oder den OK Button wieder aktiviert?

    Kannst sein dass er Probleme mit seinen Case befehlen der GUI hat? Es hört sich an als ob er zwar das GUI Fenster holt, nur nicht weiß was er mit den einzelnen Buttons machen soll. Er sagt er macht dann irgendwas, das heißt es wär möglich dass er die While Schleife des nebenscripts auf der Haupt GUI anwendet, obwohl es recht unlogisch ist. Kp, ist mal meine Meinung dazu, aber wie bereits sehr oft erwähnt, ohne Code kann man nur raten ;)