Fenster schliessen

  • Hallo!

    Ich brauche Eure Hilfe - vielleicht ist es auch ganz leicht und ich bin nur blind, aber bis jetzt habe ich weder in der Hilfe noch im Forum eine Lösung gefunden.

    Ich habe zwei Fenster, beide haben einen Schliessen-Button, aber nur bei einem soll das Programm beendet werden. Wie kann ich unterscheiden bei welchen Fenster das $GUI_EVENT_CLOSE gedrückt worden ist?

    Beispiel:

    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

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

    $Form1 = GUICreate("Form1", 200, 200, 10, 10)
    GUISetState(@SW_SHOW)

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

    $Form2 = GUICreate("Form2", 200, 200, 120, 10)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch
    WEnd

    [/autoit]

    Was ich vermeiden möchte ist das ich den GUIOnEventMode verwenden muss, denn mein eigentliches Programm ist schon fertig und basiert aufG UIGetMsg.

    lg
    Racer

    Einmal editiert, zuletzt von Racer (17. September 2014 um 11:43)

  • Du kannst auslesen von welchem Fenster das Ereignis gemeldet wurde über:

    [autoit]

    $nMsg=GUIGetMsg(1)

    [/autoit]


    $nMsg[1] enthält dann den Windowhandle des Fensters von welchem das Ereignis gemeldet wurde ;)

  • Danke das hat geholfen - manchmal ist am wirklich schon betriebsblind!

    Schade nur das ich jetzt alle case-Abfragen anpassen muss.... sind doch schon viele Zeilen Code geworden!

    lg
    Racer