Функция _GUICtrlListBox_SelItemRangeEx

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


_GUICtrlListBox_SelItemRangeEx

Выбирает один или несколько последовательных пунктов в ListBox с множественным выбором

#include <GuiListBox.au3>
_GUICtrlListBox_SelItemRangeEx($hWnd, $iFirst, $iLast)

Параметры

$hWnd Дескриптор или идентификатор элемента
$iFirst Первый пункт выбора, отсчёт от 0
$iLast Последний пункт выбора, отсчёт от 0

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

Успех:Возвращает True
Ошибка:Возвращает False

Примечания

Если $iFirst меньше чем $iLast, то указанный диапазон пунктов будет выбран. Если $iFirst больше или равно $iLast, то указанный диапазон пунктов не будет выбран. Чтобы выбрать только один пункт, выберите два пункта, а затем снимите выбор с нежелательного пункта.

Используйте это сообщение только в ListBox с множественным выбором.
Это сообщение может выбрать диапазон только в пределах первых 65536 пунктов.

См. также

_GUICtrlListBox_SelItemRange

Пример

#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, BitOR($LBS_STANDARD, $LBS_EXTENDEDSEL))
    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_EndUpdate($hListBox)

    ; Выделяет несколько пунктов
    _GUICtrlListBox_SelItemRangeEx($hListBox, 3, 5)

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