Сообщение CB_GETLBTEXTLEN

Const CB_GETLBTEXTLEN = &H149

Сообщение CB_GETLBTEXTLEN получает длину текста элемента списка комбинированного окна(ComboBox) без завершающего нулевого символа. Таким образом, определяя длину строки, не забывайте добавлять завершающий нулевой символ vbNullChar

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

В успешном случае сообщение возвращает длину строки элемента списка без завершающего нулевого символа, в случае ошибки возвращается -1

Параметры

wParam
Отсчитываемый от нуля индекс элемента списка
lParam
Не используется - установите равным 0

Пример

'  Определяем текст выбранного элемента списка комбинированного окна
' Вы должны создать элемент управления Combo1
' и заполнить список
Dim index As Long   ' индекс выбранного элемента
Dim itemtext As String ' текст выбранного элемента
Dim textlen As Long  ' длина текста выбранного элемента списка

' Определяем индекс выбранного элемента списка
index = SendMessage(Combo1.hWnd, CB_GETCURSEL, ByVal 0, ByVal 0)
' Возможные варианты
Select Case index
Case -1
    Debug.Print "Никакой элемент списка не выбран"
Case Else ' Если есть выбранный элемент,
' то определяем длину текста элемента
	textlen = SendMessage(Combo1.hWnd, CB_GETLBTEXTLEN, ByVal index, ByVal 0)
' Создаем буфер для приема строки, включая завершающий нулевой символ
	itemtext = Space(textlen) & vbNullChar
' Отображаем текст
	textlen = SendMessage(Combo1.hWnd, CB_GETLBTEXT, ByVal index, ByVal itemtext)
	itemtext = Left(itemtext, textlen)
	Debug.Print "Выбранный элемент: "; itemtext
End Select

Смотри также

CB_GETLBTEXT

Категория

Комбинированное окно