Kann man eine KodaForm automatisch schließen?

  • Hallo,
    wollte mal fragen, ob es eine Funktion gibt die nach zb. einer Sekunde die Form automatisch schließt ( Wie der Timeout bei der MsgBox ). Habe bis jetzt noch keine gefunden...

  • Hallo,
    ich glaube mein Anliegen wurde etwas falsch verstanden…
    GuiDelecte kannte ich schon… aber da kann man ja so viel ich weiss keinen Countdown ablaufen lassen, oder doch? Daher habe ich versucht mit dem sleep Befehl zu arbeiten ( das funct auch so weit), aber das sollte ohne einen Button zu drücken ablaufen. Dazu wollte ich select und EndSelect nehmen, dass funct aber nicht.

    Ps: Was ist ein AdlibRegister?

  • Schau in die Hilfe. Das ist ein Befehl, um einen Funktion in einem Intervall aufrufen zu lassen, z.B. alle 2 Sekunden. Damit registrierst du eine Funktion, die deine GUI versteckt / löscht. Die Funktion deaktiviert sich selbst dabei per AdlibUnregister, sodass sie nicht nach weiteren 2 Sekunden erneut aufgerufen wird.

  • kann mir jemand sagen was hier noch falsch ist?

    Spoiler anzeigen
    [autoit]

    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 280, 392, 219, 133)
    $a = GUICtrlCreateLabel("TEST", 64, 8, 152, 329)
    GUICtrlSetFont(-1, 200, 400, 0, "@Arial Unicode MS")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg

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

    Select
    AdlibRegister ( "GUISetState(@SW_HIDE)", 1000 )
    EndSelect

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

    Case $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch
    WEnd

    [/autoit]

    Ps: weiß jetz Ungefähr, was ein AdlibRegister ist...

  • 1. Im Adlib muss afaik eine Funktion stehen..
    2. Du hast in der Whileschleife irgendwas mit Switch und select verdreht ;)
    3. Du rufst Adlib in der Schleife auf, du musst es aber nur einmal am anfang machen:

    Spoiler anzeigen
    [autoit]

    #include <StaticConstants.au3>
    #include <GUIConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 280, 392, 219, 133)
    $a = GUICtrlCreateLabel("TEST", 64, 8, 152, 329)
    GUICtrlSetFont(-1, 200, 400, 0, "@Arial Unicode MS")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    Adlibregister("_hidewin", 2000)
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd

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

    Func _hidewin()
    GUISetState(@SW_HIDE)
    AdlibUnRegister()
    EndFunc

    [/autoit]

    MfG,
    Fresapore