GUICtrlCreateCombo

  • Hi Oscar.

    Kannst mir vielleicht helfen? Und zwar möchte ich in $Input1 angezeigt bekommen, was gerade in der ComboBox ausgewählt wurde. Zudem soll sich das, was in $Input1 angezeigt wird auch ändern, wenn man die Auswahl in der ComboBox ändert. Ich bekomme nicht hin. Vielleicht hast du ein Beispiel, damit ich es verstehe!?

    Spoiler anzeigen
    [autoit]


    #include <File.au3>
    #include <GuiComboBox.au3>
    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <TabConstants.au3>
    #include <WindowsConstants.au3>
    $test = GUICreate("test", 791, 640, 199, 119)
    $datei = GUICtrlCreateMenu("&Datei")
    $MenuItem3 = GUICtrlCreateMenuItem("Beenden Alt + F4", $datei)
    $ueber = GUICtrlCreateMenu("Ü&ber...")
    $Tab1 = GUICtrlCreateTab(-3, 34, 793, 585)
    $TabSheet1 = GUICtrlCreateTabItem("Objekte anlegen")
    $hCombo1 = GUICtrlCreateCombo("", 5, 115, 321, 455, BitOR($CBS_SIMPLE, $WS_VSCROLL, $WS_BORDER))
    $Input1 = GUICtrlCreateInput("", 533, 115, 217, 22)
    $TabSheet2 = GUICtrlCreateTabItem("Projekte anlegen")
    GUICtrlCreateTabItem("")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit]

    Local $sPathO = "C:\"
    Local $sFilter = "*"
    Local $iFlag = 2
    Local $ordnero = _FileListToArray($sPathO, $sFilter, $iFlag)

    For $i = 1 To $ordnero[0]
    _GUICtrlComboBox_AddString($hCombo1, $ordnero[$i])
    Next

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE, $MenuItem3
    Exit
    EndSwitch
    WEnd

    [autoit][/autoit]

    Vielen Dank!

    Gruß
    Sirius

  • Füge das in deine While Schleife innerhalb des Switch ein:

    [autoit]

    Case $hCombo1
    GuiCtrlSetData($Input1,GuiCtrlRead($hCombo1))

    [/autoit]

    Jedesmal, wenn ein Element in hCombo1 ausgewählt wird, wird dieses ausgelesen (GuiCtrlRead) und in Input1 abgelegt(GuiCtrlSetData).
    Den Wert von Input1 lässt sich analog auch mit GuiCtrlRead($Input1) auslesen und übergeben,