GUICtrlCreateList nächstes aus der Liste wählen

  • Hallo!

    Habe ein simple frage. Und zwar wie schaffe ich es, dass ein script in einer liste das nächste auswählt.

    also zum beispiel hier:

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

    $1 = InputBox ("Eingeben","Gib i-etwas ein, was als erstes in der Liste sein soll!") ; zum beispiel a

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

    $2 = InputBox ("Eingeben","Gib i-etwas ein, was als zweites in der Liste sein soll!") ; zum beispiel b

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

    #include <GUIConstantsEx.au3>
    #include <ButtonConstants.au3>
    #include <GUIListBox.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=$Form1 = GUICreate("Form1", 285, 212, 192, 124)
    $List1 = GUICtrlCreateList("", 12, 20, 257, 136)
    $Button1 = GUICtrlCreateButton("Nächstes auswählen.", 80, 168, 153, 37, $WS_GROUP)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    GUICtrlSetData ($List1 , $1&"|"&$2)

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

    Func _Naechtes ()
    ;ich möchte das, wenn a markiert ist, b markiert wird ;D
    EndFunc

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    _Naechtes ()
    EndSwitch
    WEnd

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

    mfg XXlolimanxx


  • ;ich möchte das, wenn a markiert ist, b markiert wird ;D

    Wir sind hier kein mach mal Forum :!: Das Board hat auch eine SuchFunktion, desweiteren gibt es eine gute Hilfe Lies dir dort die Hilfe zu

    [autoit]

    _GUICtrlListBox_GetCount
    _GUICtrlListBox_GetCurSel
    _GUICtrlListBox_SetCurSel

    [/autoit]

    durch

    mfg (Auto)Bert

  • So hier?

    Spoiler anzeigen
    [autoit]

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

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

    $1 = InputBox("Eingeben", "Gib i-etwas ein, was als erstes in der Liste sein soll!") ; zum beispiel a

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

    $2 = InputBox("Eingeben", "Gib i-etwas ein, was als zweites in der Liste sein soll!") ; zum beispiel b

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

    GUICreate("Form1", 285, 212, 192, 124)
    $hList = GUICtrlCreateList("", 12, 20, 257, 136)
    $hSelectNext = GUICtrlCreateButton("Nächstes auswählen", 80, 168, 153, 37, $WS_GROUP)
    GUISetState()

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

    GUICtrlSetData($hList, $1 & "|" & $2)

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

    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    Exit
    Case $hSelectNext
    _Next()
    EndSwitch
    WEnd

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

    Func _Next()
    $iIndex = _GUICtrlListBox_GetCurSel($hList)
    _GUICtrlListBox_SetCurSel($hList, $iIndex + 1)
    EndFunc ;==>_Next

    [/autoit]
  • Hallo XXlolimanxx,

    falls du am Ende der Liste wieder zum Anfang springen willst musst du so abändern:[autoit]Func _Next()
    $iIndex = _GUICtrlListBox_GetCurSel($hList)
    if $iIndex = _GUICtrlListBox_GetCount($hList) - 1 then $iIndex = -1
    _GUICtrlListBox_SetCurSel($hList, $iIndex + 1)
    EndFunc ;==>_Nextautoit]

    mfg (Auto)Bert