Функция _GUICtrlListView_GetISearchString

         Описание функции


_GUICtrlListView_GetISearchString

Возвращает пошаговый поиск строки

#include <GuiListView.au3>
_GUICtrlListView_GetISearchString($hWnd)

Параметры

$hWnd Дескриптор или идентификатор элемента

Возвращаемое значение

Возвращает пошаговый поиск строки или пустую строку, если строка поиска не существует

Примечания

Пошаговый поиск строки это последовательность символов, которые вводит пользователь когда ListView имеет фокус ввода. Каждый раз, когда пользователь вводит символ, система добавляет символ в поисковую строку и далее ищет совпадающий пункт. Если система нашла совпадение, то выделяет пункт и при необходимости прокручивает его в поле зрения.

Период таймаута связан с каждым вводимым символом от пользователя. Если период таймаута истёк до того как пользователь ввёл другой символ, то пошаговый поиск строки сбрасывается.

Пример

#include <GUIConstantsEx.au3>
#include <GuiListView.au3>
#include <GuiImageList.au3>

$Debug_LV = False ; Проверяет ClassName передаваемый в ListView функции. Установите True и используйте дескриптор от другого элемента, чтобы увидеть как это работает

_Main()

Func _Main()
    Local $hImage, $hListView

    GUICreate("ListView Пошаговый поиск строки", 400, 300)

    $hListView = GUICtrlCreateListView("", 2, 2, 394, 268)
    GUICtrlSetStyle($hListView, $LVS_ICON)
    GUISetState()

    ; Загружает изображения
    $hImage = _GUIImageList_Create()
    _GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap($hListView, 0xFF0000, 16, 16))
    _GUICtrlListView_SetImageList($hListView, $hImage, 0)

    _GUICtrlListView_BeginUpdate($hListView)
    For $x = 1 To 10
        _GUICtrlListView_InsertItem($hListView, "Пункт " & $x, -1, 0)
    Next
    _GUICtrlListView_EndUpdate($hListView)

    Send("Пункт 4") ; имитация ввода с клавиатуры

    ; Возвращает строку найденную пошагово
    MsgBox(4160, "Информация", "Пошаговый поиск строки: " & _GUICtrlListView_GetISearchString($hListView))

    ; Цикл выполняется, пока окно не будет закрыто
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

    GUIDelete()
EndFunc   ;==>_Main