Listbox Suchfunktion ?

  • Hallo,

    ich wollte einmal fragen, ob jemand weiß, wie man eine Suchfunktion in einer Listbox einbauen kann? Also wenn ich z.B. im Input das Wort "a" eingebe, soll er zu auch zu a springen. Wenn ich z.B. "aff" eingebe, soll er zu Affe springen.

    Hier mal mein Skript :

    [autoit]

    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GUIListBox.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 404, 304, 192, 124)
    $suche = GUICtrlCreateLabel("suche", 8, 8, 33, 17)
    $Input1 = GUICtrlCreateInput("Input1", 56, 8, 321, 21)
    $List1 = GUICtrlCreateList("", 8, 32, 377, 70)
    $Worter = StringSplit("Affe,Banane,Defas,Casll,Binne,Cartwe,DDasdsa,Antenne,EEE", ",")
    For $i = 1 to 9
    GuiCtrlSetData($List1,$Worter[$i])
    Next
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

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

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

    EndSwitch
    WEnd

    [/autoit]

    4 Mal editiert, zuletzt von Shizoid (5. April 2013 um 22:09)

  • Also eine Live Suche mit Autovervollständigung?


    Autoit Skripte bitte mit:

    [autoit]

    HierSkript

    [/autoit]

    posten

    Um Missverständnisse zu vermeiden, mein Name rührt vom Sternenbild und nicht vom Shop her :D


    Rainbow Dash :rock:

    "Das, wobei unsere Berechnungen versagen, nennen wir Zufall." (Albert Einstein)

  • Wie wäre es mit einem eigenen Ansatz? Ansonsten kannst du auch gleich in "Programmieranfragen" posten. Dein mit Koda zusammengezogenes "Script" hilft hier nämlich nur wenig...
    In diesem Script wäre ein Ansatz zu deinem Vorhaben: https://autoit.de/index.php?page=Thread&amp;threadID=5669
    Im Grunde kommt es dabei für dich nur auf die beiden Funktionen _GUICtrlListBox_FindString und _GUICtrlListBox_SetCurSel an. Den Rest findest du per Google, Forensuche, diversen Tutorials und den AutoIt Hilfeartikeln zu diesen Funktionen, wahlweise auf Englisch oder Deutsch.
    Keiner von uns möchte all das umsonst übersetzt haben.

  • Probiere es mal selber.

    Habe nur noch das Problem, dass das Item nicht markiert wird.

    Hier ist mein Skript :

    Spoiler anzeigen
    [autoit]

    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GUIListBox.au3>
    #include <StaticConstants.au3>
    #Include <GuiListBox.au3>
    #Include <GuiListView.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 404, 304, 192, 124)
    $suche = GUICtrlCreateLabel("suche", 8, 8, 33, 17)
    $Input1 = GUICtrlCreateInput("Input1", 56, 8, 321, 21)
    $List1 = GUICtrlCreateList("", 8, 32, 377, 70)
    $Worter = StringSplit("Affe,Banane,Defas,Casll,Binne,Cartwe,DDasdsa,Antenne,EEE", ",")
    _GUICtrlListBox_BeginUpdate($List1)
    For $i = 1 to 9
    _GUICtrlListBox_AddString($List1,$Worter[$i])
    Next
    _GUICtrlListBox_EndUpdate($List1)

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

    GUISetState(@SW_SHOW)
    $Find = _GUICtrlListBox_FindInText($List1,"EEE")
    ConsoleWrite($Find)
    _GUICtrlListBox_SetCurSel($Form1, $Find)
    #EndRegion ### END Koda GUI section ###

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

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

    [/autoit]

    5 Mal editiert, zuletzt von Shizoid (5. April 2013 um 23:40)