Const LB_GETCURSEL = &H188
Сообщение LB_GETCURSEL получает индекс выделенной строки (если она есть) в списке с одиночным выделением. Для получения выделенных строк в списке с множественным выделением используйте LB_GETSELITEMS
Сообщение возвращает отсчитываемый от нуля индекс выделенного элемента списка. Если никакой элемент списка не выбран или произошла ошибка, то сообщение возвращает LB_ERR
Const LB_ERR = -1
' Получим индекс выделенной строки Dim selitem As Long ' индекс выделенной строки ' Получим индекс выделенной строки selitem = SendMessage(List1.hWnd, LB_GETCURSEL, ByVal 0, ByVal 0) If selitem = LB_ERR Then Debug.Print "Нет выделенной строки в списке" Else Debug.Print "Выделена строка: "; selitem + 1 End If