Функция _GUICtrlListBox_SelectString

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


_GUICtrlListBox_SelectString

Поиск пункта, который начинается с указанной строки

#include <GuiListBox.au3>
_GUICtrlListBox_SelectString($hWnd, $sText [, $iIndex = -1])

Параметры

$hWnd Дескриптор или идентификатор элемента
$sText Строка поиска.
$iIndex [необязательный] Указывает индекс пункта, предшествующий пункту являющимся первым для начала поиска. Отсчёт индексов от 0. Когда поиск достигнет конца списка, поиск продолжится от начала списка до пункта $iIndex. Если $iIndex равен -1, то поиск выполняется по всему списку от начала.

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

Успех:Возвращает индекс выбранного пункта, отсчёт от 0
Ошибка:Возвращает -1

Примечания

ListBox прокручивается, если это необходимо для перемещения выделенного пункта в поле зрения.
Не используйте это сообщение для ListBox, который имеет стиль $LBS_MULTIPLESEL или the $LBS_EXTENDEDSEL.

См. также

_GUICtrlListBox_FindString, _GUICtrlListBox_FindInText

Пример

#include <GuiListBox.au3>
#include <GUIConstantsEx.au3>

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

_Main()

Func _Main()
    Local $sText, $hListBox

    ; Создаёт GUI
    GUICreate("Поиск пункта от начала строки и выделение", 400, 296)
    $hListBox = GUICtrlCreateList("", 2, 2, 396, 296)
    GUISetState()

    ; Добавляет строки
    _GUICtrlListBox_BeginUpdate($hListBox)
    For $iI = 1 To 10
        $sText = StringFormat("%03d : Рандомная строка ", Random(1, 100, 1))
        For $iX = 1 To Random(1, 20, 1)
            $sText &= Chr(Random(65, 90, 1))
        Next
        _GUICtrlListBox_AddString($hListBox, $sText)
    Next
    _GUICtrlListBox_AddString($hListBox, "020 : Искомая строка")
    _GUICtrlListBox_EndUpdate($hListBox)

    ; Поиск пункта и выделение
    MsgBox(4160, "Информация", "Индекс искомой строки: " & _GUICtrlListBox_SelectString($hListBox, "020 : И"));

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