_GUICtrlListView_FindItem
Поиск пункта с указанными характеристиками
#include <GuiListView.au3>
_GUICtrlListView_FindItem($hWnd, $iStart, ByRef $tFindInfo [, $sText = ""])
Параметры
$hWnd | Дескриптор или идентификатор элемента |
$iStart |
Индекс, от которого начинать поиск или -1, чтобы искать с самого начала. Указанный элемент исключается из поиска. |
$tFindInfo |
Структура $tagLVFINDINFO, содержащая искомую информацию |
$sText |
[необязательный] Строка для сравнения с текстом пункта. Это справедливо, если $LVFI_STRING или $LVFI_PARTIAL установлены в элементе Flags структуры |
Возвращаемое значение
Успех: | Возвращает индекс пункта |
Ошибка: | Возвращает -1 |
См. также
_GUICtrlListView_FindParam, _GUICtrlListView_FindNearest, $tagLVFINDINFOПример
#include <GUIConstantsEx.au3>
#include <GuiListView.au3>
$Debug_LV = False ; Проверяет ClassName передаваемый в ListView функции. Установите True и используйте дескриптор от другого элемента, чтобы увидеть как это работает
_Main()
Func _Main()
Local $tInfo, $iI, $hListView
GUICreate("ListView Поиск пункта по параметрам", 400, 300)
$hListView = GUICtrlCreateListView("", 2, 2, 394, 268)
GUISetState()
; Добавляет колонки
_GUICtrlListView_AddColumn($hListView, "Пункты", 100)
; Добавляет пункты
_GUICtrlListView_BeginUpdate($hListView)
For $iI = 1 To 100
_GUICtrlListView_AddItem($hListView, "Пункт " & $iI)
Next
_GUICtrlListView_EndUpdate($hListView)
; Устанавливает значение Param пункта 50
_GUICtrlListView_SetItemParam($hListView, 49, 1234)
; Поиск пункта назначения
$tInfo = DllStructCreate($tagLVFINDINFO)
DllStructSetData($tInfo, "Flags", $LVFI_PARAM)
DllStructSetData($tInfo, "Param", 1234)
$iI = _GUICtrlListView_FindItem($hListView, -1, $tInfo)
MsgBox(4160, "Информация", "Индекс пункта назначения: " & $iI)
_GUICtrlListView_EnsureVisible($hListView, $iI)
; Цикл выполняется, пока окно не будет закрыто
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
GUIDelete()
EndFunc ;==>_Main