ComboBox

  • Hallöchen hab da mal wieder eine frage weil ich was nicht ganz hinbekomme.

    Ich möchte eine Combobox bauen wo man die Hotkeys ändern kann nur bei mir will das einfach nicht funzen ;(

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

    ;Includes
    #include <GUIConstantsEx.au3>

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

    ;GUICreate
    GUICreate("myGUI", 400, 200)

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

    GUISetState(@SW_SHOW)

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

    ;Combo
    $combo = GUICtrlCreateCombo("+!d", 10, 10) ; Erstellt das erste Item
    GUICtrlSetData(-1, "+!e|+!f")

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

    While 1
    $msg = GUIGetMsg()
    if $msg = $combo Then HotKeySet(GUICtrlRead($combo), "ShowMessage")

    if $msg = $Gui_event_close Then ExitLoop

    WEnd


    Func ShowMessage()
    MsgBox(4096,"","Das ist eine Nachricht.")
    EndFunc

    [/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit]
  • versuchs mal so:

    Spoiler anzeigen
    [autoit]


    ;Includes
    #include <GUIConstantsEx.au3>

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

    ;GUICreate
    GUICreate("myGUI", 400, 200)

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

    GUISetState(@SW_SHOW)

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

    ;Combo
    $combo = GUICtrlCreateCombo("+!d", 10, 10) ; Erstellt das erste Item
    GUICtrlSetData(-1, "+!e|+!f")
    $b1 = GUICtrlCreateButton ("OK", 40, 40)

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

    While 1
    $msg = GUIGetMsg()
    if $msg = $b1 Then HotKeySet(GUICtrlRead($combo), "ShowMessage")
    if $msg = $Gui_event_close Then ExitLoop

    WEnd


    Func ShowMessage()
    MsgBox(4096,"","Das ist eine Nachricht.")
    EndFunc

    [/autoit]
    Zitat

    Laughing Man

    "I thought, what I'd do was, I'd pretend I was one of those deaf-mutes"

  • Ahh OK. Also muss ich immer wenn ich Comboboxen verwende nen ok button benutzen. Geht das nicht ohne ??

  • Bei mir geht es auch ohne. +!e und +!f sind bei mir aber schon belegt und funktionieren nicht.

    Spoiler anzeigen
    [autoit]

    ;Includes
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <ComboConstants.au3>

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

    $LASTHOTKEY = ""
    ;GUICreate
    GUICreate("myGUI", 400, 200)

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

    GUISetState(@SW_SHOW)

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

    ;Combo
    $combo = GUICtrlCreateCombo("+!d", 10, 10, 200, 100, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL, $WS_VSCROLL)) ; Erstellt das erste Item
    GUICtrlSetData(-1, "+!g|+!h")

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

    While 1
    $msg = GUIGetMsg()
    if $msg = $combo Then
    If $LASTHOTKEY <> "" Then HotKeySet($LASTHOTKEY)
    $LASTHOTKEY = GUICtrlRead($combo)
    HotKeySet($LASTHOTKEY, "ShowMessage")
    EndIf

    if $msg = $Gui_event_close Then ExitLoop

    WEnd


    Func ShowMessage()
    MsgBox(4096,"","Das ist eine Nachricht.")
    EndFunc

    [/autoit]
  • Ok vielen danke werde es mal testen. Muss erstmal deinen Code verstehen *gg* danke schon mal ^^