Функция _GUICtrlListBox_GetSelItems

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


_GUICtrlListBox_GetSelItems

Возвращает массив с индексами выделенных пунктов

#include <GuiListBox.au3>
_GUICtrlListBox_GetSelItems($hWnd)

Параметры

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

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

Успех: Возвращает массив следующего формата:
        [0] - Общее количество элементов в массиве
        [1] - Индекс выделенного пункта
        [2] - Индекс выделенного пункта
        [n] - Индекс выделенного пункта

См. также

_GUICtrlListBox_GetSelItemsText

Пример

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

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

_Main()

Func _Main()
    Local $sItems, $aItems, $hListBox

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

    ; Добавляет строки
    _GUICtrlListBox_BeginUpdate($hListBox)
    For $iI = 1 To 9
        _GUICtrlListBox_AddString($hListBox, StringFormat("%03d : Рандомная строка", Random(1, 100, 1)))
    Next
    _GUICtrlListBox_EndUpdate($hListBox)

    ; Выделяет несколько элементов
    _GUICtrlListBox_SetSel($hListBox, 3)
    _GUICtrlListBox_SetSel($hListBox, 4)
    _GUICtrlListBox_SetSel($hListBox, 5)

    ; Получает индексы выделенных пунктов
    $aItems = _GUICtrlListBox_GetSelItems($hListBox)
    For $iI = 1 To $aItems[0]
        $sItems &= $aItems[$iI] & ", "
    Next
    $sItems = StringTrimRight($sItems, 2)
    MsgBox(4160, "Информация", "Индексы выделенных пунктов: " & $sItems)

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