Сообщение LB_GETSELITEMS

Const LB_GETSELITEMS = &H191

Сообщение LB_GETSELITEMS получает массив индексов всех выделенных строк в списке с множественным выделением

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

В успешном случае сообщение возвращает число индексов выделенных строк, записанных в массив. В случае ошибки возвращается LB_ERR

Параметры

wParam
Максимальное число индексов, заносимых в массив lParam(Windows 95/98/ME: этот параметр ограничен 16-битным значением. Таким образом список не может содержать более 32 767 элементов)
lParam
Массив получаемых индексов. Для получения минимальной длины массива, достаточной для хранения всех выбранных элементов используйте LB_GETSELCOUNT

Константы

Const LB_ERR = -1

Пример

' Получаем число выделенных элементов
' в списке с множественным выделением

Dim items() As Long  ' индексы выделенных строк
Dim numsel As Long   ' число выбранных строк
Dim c As Long        ' счетчик
Dim retval As Long   ' возвращаемое значение

' Подсчитываем число выделенных элементов
numsel = SendMessage(List1.hWnd, LB_GETSELCOUNT, ByVal 0, ByVal 0)
If numsel = 0 Then
  Debug.Print "Нет выделенных строк"
Else
' Изменяем размер массива для возможности хранения всех индексов
ReDim items(0 To numsel - 1) As Long
' Получаем все индексы
retval = SendMessage(List1.hWnd, LB_GETSELITEMS, ByVal numsel, items(0))
' Выводим результат
Debug.Print "Выделены строки (по индексам):"
For c = 0 To numsel - 1
 Debug.Print items(c);
Next c
End If

Смотри также

LB_GETCURSEL, LB_GETSEL, LB_GETSELCOUNT

Категория

Списки