ilim | Дата: Среда, 09.11.2011, 22:29 | Сообщение # 1 |
 Рядовой
Группа: Администраторы
Сообщений: 680
Награды: 17
Репутация: 4
Статус: Оффлайн
| 'Добавить в модуль:
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal msg As Long, ByVal wp As Long, lp As Any) As Long Public Const EM_LINEINDEX = &HBB Public Const EM_LINELENGTH = &HC1 Public Const EM_GETLINE = &HC4
'Добавить в форму:
Public Function GetLine(hWnd As Long, Line As Long) As String Dim sBuf As String, nLen As Long, nIndex As Long
nIndex = SendMessage(hWnd, EM_LINEINDEX, Line - 1, ByVal 0&) If nIndex < 0 Or Line <= 0 Then Exit Function nLen = SendMessage(hWnd, EM_LINELENGTH, nIndex, ByVal 0&) sBuf = Space(nLen + 1) Mid$(sBuf, 1, 1) = Chr$(nLen And &HFF) ' First byte is the low 8 bits Mid$(sBuf, 2, 1) = Chr$(nLen \ 256) ' Second byte is the high 8 bits SendMessage hWnd, EM_GETLINE, Line - 1, ByVal sBuf GetLine = Left$(sBuf, nLen) End Function
Private Sub Комманда1_Click() 'Показывает вторую строчку (начиная с 1) MsgBox GetLine(Text1.hWnd, 1) End Sub
'Примечание: Для работы примера у поля Text1 необходимо поставить 'свойство .Multiline = True
www.ilim.kz
|
|
| |