GUIRegisterMsg Taste abfragen

  • Hallo,

    ich brauche bei diesem Code mal Hilfe.
    Ich versteh das nicht!
    Die TAB Taste soll abgefragt werden: gedrückt, losgelassen.
    _ispressed...

    ABER wie funktioniert das hier:
    Was mache ich falsch?
    Würd mich freuen wenn das jemand dokumentieren könnte!
    Es tut sich nichts.

    [autoit]


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

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

    Global Const $VK_ADD = 09; Das ist die TABULATOR Taste

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

    GUIRegisterMsg($WM_KEYUP, "WM_KEYUP"); hier wird die Funktion angesprochen

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

    $Form1 = GUICreate("Form1", 625, 443, 192, 124)
    $Combo1 = GUICtrlCreateCombo("Combo1", 80, 64, 145, 25)
    $Button1 = GUICtrlCreateButton("Button1", 104, 136, 75, 25, $WS_GROUP)
    $Button2 = GUICtrlCreateButton("Button2", 200, 136, 75, 25, $WS_GROUP)
    $Button3 = GUICtrlCreateButton("Button3", 296, 136, 75, 25, $WS_GROUP)
    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
    Func WM_KEYUP($hWnd, $msg, $wParam, $lParam)
    Switch $wParam
    Case $VK_ADD; Im Falle der TAB Taste
    MsgBox(0, "", "es wurde losgelassen")
    EndSwitch
    Return 'GUI_RUNDEFMSG'
    EndFunc ;==>WM_KEYUP

    [/autoit]

    :( Grüße Ilse

  • Also ich würde das einfach so machen:

    Spoiler anzeigen
    [autoit]

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

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

    $Form1 = GUICreate("Form1", 625, 443, 192, 124)
    $Combo1 = GUICtrlCreateCombo("Combo1", 80, 64, 145, 25)
    $Button1 = GUICtrlCreateButton("Button1", 104, 136, 75, 25, $WS_GROUP)
    $Button2 = GUICtrlCreateButton("Button2", 200, 136, 75, 25, $WS_GROUP)
    $Button3 = GUICtrlCreateButton("Button3", 296, 136, 75, 25, $WS_GROUP)
    GUISetState(@SW_SHOW)

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

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

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

    EndSwitch
    If _IsPressed(09) Then
    $check = 1
    ElseIf Not _IsPressed(09) And $check = 1 Then
    $check = 0
    MsgBox(0, "", "es wurde losgelassen")
    EndIf
    WEnd

    [/autoit]

    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.

  • Hallo Chip,

    freu mich daß du dich gemeldet hast.
    Funktioniert prima.

    Also, mir ging es auch ganz einfach mal ums verstehen.
    Dann liest man so etwas...
    GUIRegisterMsg($WM_KEYUP, "WM_KEYUP")...

    Ist im Prinzip egal? Oder hat das irgendwelche Vorteile?

    Liebe Grüße
    Ilse