_GUICtrlListBox_SelItemRangeEx
Выбирает один или несколько последовательных пунктов в ListBox с множественным выбором
#include <GuiListBox.au3>
_GUICtrlListBox_SelItemRangeEx($hWnd, $iFirst, $iLast)
Параметры
$hWnd | Дескриптор или идентификатор элемента |
$iFirst |
Первый пункт выбора, отсчёт от 0 |
$iLast |
Последний пункт выбора, отсчёт от 0 |
Возвращаемое значение
Успех: | Возвращает True |
Ошибка: | Возвращает False |
Примечания
Если $iFirst меньше чем $iLast, то указанный диапазон пунктов будет выбран. Если $iFirst больше или равно $iLast, то указанный диапазон пунктов не будет выбран. Чтобы выбрать только один пункт, выберите два пункта, а затем снимите выбор с нежелательного пункта.См. также
_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