Oberfläche offen halten?

  • Hallo,

    habe mir mit der GUI kleine Oberfläche mit vier Buttons gemacht:

    Spoiler anzeigen
    [autoit]

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

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 338, 350, 192, 124)
    $Button1 = GUICtrlCreateButton("01", 96, 248, 130, 64, $BS_BITMAP)
    GUICtrlSetImage($Button1 , "img\01_r.bmp", 0)
    $Button2 = GUICtrlCreateButton("02", 96, 168, 130, 64, $BS_BITMAP)
    GUICtrlSetImage($Button2, "img\02_g.bmp", 0)
    $Button3 = GUICtrlCreateButton("gis", 96, 88, 130, 64, $BS_BITMAP)
    GUICtrlSetImage($Button3, "img\gis_g.bmp", 0)
    $Button4 = GUICtrlCreateButton("moodle", 96, 24, 130, 50, $BS_BITMAP)
    GUICtrlSetImage($Button4, "img\moodle_g.bmp", 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit]

    Aktuell geht die Oberfläche direkt auf und wieder zu. Möchte allerdings mit den Buttons dann einzelne Funktionen starten. Was muss ich machen damit sich die Oberfläche erst durch einen Klick auf "Button4" beendet?

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

    Einmal editiert, zuletzt von chip (10. Juni 2009 um 07:15)

  • Spoiler anzeigen
    [autoit]

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

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

    Opt("GuiOnEventMode",1)
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 338, 350, 192, 124)
    $Button1 = GUICtrlCreateButton("01", 96, 248, 130, 64, $BS_BITMAP)
    GUICtrlSetImage($Button1 , "img\01_r.bmp", 0)
    $Button2 = GUICtrlCreateButton("02", 96, 168, 130, 64, $BS_BITMAP)
    GUICtrlSetImage($Button2, "img\02_g.bmp", 0)
    $Button3 = GUICtrlCreateButton("gis", 96, 88, 130, 64, $BS_BITMAP)
    GUICtrlSetImage($Button3, "img\gis_g.bmp", 0)
    $Button4 = GUICtrlCreateButton("moodle", 96, 24, 130, 50, $BS_BITMAP)
    GUICtrlSetImage($Button4, "img\moodle_g.bmp", 0)
    GuICtrlSetOnEvent(-1,"_Exit")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    sleep(100)
    WEnd

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

    Func _Exit()
    Exit
    EndFunc

    [/autoit]
  • Hallo chip,

    häng doch einfach das hinten an:

    Spoiler anzeigen
    [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button4
    Exit
    Case $Button1
    MsgBox(0,"Achtung","Button1 wurde gedrückt!")
    Case $Button2
    MsgBox(0,"Achtung","Button2 wurde gedrückt!")
    Case $Button3
    MsgBox(0,"Achtung","Button3 wurde gedrückt!")
    EndSwitch
    WEnd

    [/autoit]

    und lies dir das Kapitel GUI-Konzepte in der Hilfe durch speziell auch MessageLoop-Modus (wie im Spoiler) und OnEventModus (was ich bevorzugen würde und wie es @ChaosKeks bereits gezeigt hat),

    Edit: zu langsam

    mfg (Auto)Bert

    Einmal editiert, zuletzt von AutoBert (9. Juni 2009 um 15:32)

  • Der OnEventModus ist genau das was ich gesucht habt. Danke.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.