Eintrag im Listview markieren

  • Hallo Leute,

    ich stehe vor einem Problem. Ich habe eine Art Adressbuch für firmeninterne Telefon-Durchwahlen inkl Suchfunktion geschrieben.

    Ich möchte dass das Skript den Eintrag, der dem Suchwort am ähnlichsten ist, markiert ohne dass das Input-Feld dabei den Fokus verliert.

    Hier das Skript:

    Spoiler anzeigen
    [autoit]

    #include
    #include
    #include
    HotKeySet("{Esc}","_exit")
    #Region ### START Koda GUI section ### Form=
    Opt("GUIOnEventMode",1)
    $GUI = GUICreate("Test Durchwahlbuch", 311, 286, 192, 124)
    GUISetOnEvent($GUI_EVENT_CLOSE,"_exit")
    $Label = GUICtrlCreateLabel("Suche:", 8, 8, 38, 17)
    $Input = GUICtrlCreateInput("", 8, 32, 289, 21)
    $Listview = GUICtrlCreateListView("",8,64,297,213,$LVS_SORTASCENDING)
    _GUICtrlListView_AddColumn($Listview,"Durchwahl",97,0)
    _GUICtrlListView_AddColumn($Listview,"Name",200,0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    $aIni = IniReadSection(@ScriptDir&"\test.ini","Durchwahl")
    For $i = 1 To UBound($aIni)-1 Step 1
    $iItem = _GUICtrlListView_AddItem($Listview,$aIni[$i][0])
    _GUICtrlListView_AddSubItem($Listview,$iItem,$aIni[$i][1],1)
    Next
    $read_prev = ""
    WHile 1
    $read_after = GUICtrlRead($Input)
    If $read_after <> $read_prev Then
    $iI = _GUICtrlListView_FindInText($Listview,$read_after,-1)
    ToolTip($iI)
    _GUICtrlListView_EnsureVisible($Listview,$iI)
    ;_GUICtrlListView_SetSelectionMark($Listview,$iI)
    Else
    $iI = 0
    EndIf
    _GUICtrlListView_SetItemSelected($Listview,$iI)
    $read_prev = $read_after
    $read_after = ""
    Sleep(10)
    WEnd

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

    Func _exit()
    Exit
    EndFunc

    [/autoit]

    Danke schonmal vorab.

    P.S.: Die test.ini wird gebraucht und muss im @ScriptDir liegen.

  • Funktioniert.
    Auch wenn ich dein Skript noch nicht hundertprozentig verstanden habe hilft mir das sehr weiter.
    Danke sehr.