Mehrere GUI´s

  • Halo Ihr,


    Ich ahbe mir gerade die Hilfe von AutoBert usw. angeschaut zum hema mehrere GUIs.

    Ich brauch für mein Programm 4 GUI´s.


    1Main, 1x Serialregistrierung, 1x Kontakt und 1x Vollversion registrieren.


    Nun hab ich mir gedacht, dass alles gleich aussieht und habs so gemacht:

    [autoit]

    While 1
    $nMsg = GUIGetMsg(1)
    Switch $nMsg[1]
    Case $gui1
    Switch $nMsg[0]
    Case $GUI_EVENT_CLOSE
    Exit

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

    Case $b_login
    _login()

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

    Case $b_registerserial
    _registerserial()

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

    Case $serialitem
    _registerserial()

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

    Case $datenitem
    _datenaendern()

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

    Case $exititem
    Exit

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

    Case $faqitem
    ShellExecute("http://LinkzuderFaq.de/Faq.html")

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

    Case $vollversionitem
    _vollversion()

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

    Case $kontaktitem
    _contact()

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

    Case $aboutitem
    _about()
    Case $b_buyfull
    ShellExecute("http://LinkzuderHomepage.de")

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

    EndSwitch
    Case $GUI2
    Switch $nMsg[0]
    Case $GUI_EVENT_CLOSE
    GUISetState(@SW_HIDE, $GUI2)
    EndSwitch

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

    Case $GUI3
    Switch $nMsg[0]
    Case $GUI_EVENT_CLOSE
    GUISetState(@SW_HIDE, $GUI3)
    EndSwitch

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

    Case $GUI4
    Switch $nMsg[0]
    Case $GUI_EVENT_CLOSE
    GUISetState(@SW_HIDE, $GUI4)
    EndSwitch
    EndSwitch
    WEnd

    [/autoit]

    Funktioniert dummerweise jedoch nicht ;)


    Wäre für Hilfe dankbar.


    Schrubber

    Einmal editiert, zuletzt von Schrubber (6. Juli 2010 um 11:22)

  • Hallo Schrubber,

    Ich habe mal 4 GUIs in einem Skript gemacht

    Hoffe es hilft dir weiter =)

    Spoiler anzeigen
    [autoit]


    #include <GUIConstants.au3>

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

    GUICreate("Main", 300, 300, 50, 50)

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

    GUISetState(@SW_SHOW)

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

    serial()

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

    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd

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

    Func serial()
    GUICreate("Serialreg.", 300, 300, 400, 50)

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

    GUISetState(@SW_SHOW)

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

    kontakt()

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

    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd
    EndFunc

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

    Func kontakt()
    GUICreate("Kontakt", 300, 300, 50, 400)

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

    GUISetState(@SW_SHOW)

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

    vollversion()

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

    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd
    EndFunc

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

    Func vollversion()
    GUICreate("Vollversion reg.", 300, 300, 400, 400)

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

    GUISetState(@SW_SHOW)

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

    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd
    EndFunc

    [/autoit]
  • Die GUI´s entstehen, jedoch lässt sich, wenn ich die serial GUi geöffnet und geschlossen hab,die Main nicht mehr schließen :/


    Edit: Ok geht ;) Hab nach dem @SW_Hide nen Exitloop gemacht, dank dir ^^