Const LB_GETCARETINDEX = &H19F
Сообщение LB_GETCARETINDEX используется для получения индекса строки, имеющей фокусный прямоугольник в списке с множественным выделением. Сама строка не обязательно должна быть выделена
Сообщение возвращает индекс строки, имеющей фокус. Если такой строки нет, то возвращается LB_ERR
' смотри также пример listbox.zip
Dim lRet As Long
lRet = SendMessage(List2.hWnd, LB_GETCARETINDEX, ByVal 0, ByVal 0)
List2.AddItem lRet, 0