Сообщение EM_GETLINE

Const EM_GETLINE = &HC4

Пошлите сообщение EM_GETLINE для получения содержания заданной строки в текстовом поле. Данная строка копируется в буфер lParam

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

В успешном случае сообщение возвращает число символов заданной строки. В случае ошибки возвращается 0 (это происходит, если номер строки больше числа строк в текстовом поле)

Параметры

wParam
Отсчитываемый от нуля номер строки
lParam
Буфер, содержащий строку. Первые два байта буфера являются 16-битными целыми числами, определяющими длину строки (Смотри пример)

Пример

' Читаем вторую строку текстового поля Text1.
' Поместите на форму Text1 и кнопку Command1
Private Sub Command1_Click()
Dim linetextlen As Integer  ' длина строки
Dim linetext As String  ' получаемая строка
Dim retval As Long  ' возвращаемое значение

' Находим число символов в строке
linetextlen = SendMessage(Text1.hWnd, EM_LINELENGTH, ByVal -1, ByVal CLng(0))

' Создаем буфер для приема строки
' Строка должна быть длиной не менее двух байт
linetext = Space(IIf(linetextlen >= 2, linetextlen, 2))
 EM_GETLINE требует, чтобы длина строки
' помещалась в начало строки
' Это несколько необычно, но таковы правила
CopyMemory ByVal linetext, linetextlen, Len(linetextlen)
' Читаем вторую строку
retval = SendMessage(Text1.hWnd, EM_GETLINE, ByVal 1, ByVal linetext)
' Выводим содержание второй строки
Debug.Print "Вторая строка: "; linetext
End Sub

Смотри также

EM_LINELENGTH

Категория

Поля редактирования