Чтение каждой строки TextBox со свойством multiline=true - VB

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! Нужно реализовать следующее действо: есть textbox со свойством multiline=true, свойство scrollbars=2. В textbox текст в несколько строк. Как считать каждую строку в отдельный textbox (или переменную) ? Заранее благодарен

Решение задачи: «Чтение каждой строки TextBox со свойством multiline=true»

textual
Листинг программы
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal msg As Long, ByVal wp As Long, lp As Any) As Long
Const EM_LINEINDEX = &HBB
Const EM_LINELENGTH = &HC1
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)
Mid$(sBuf, 2, 1) = Chr$(nLen \ 256)
SendMessage hWnd, EM_GETLINE, Line - 1, ByVal sBuf
GetLine = Left$(sBuf, nLen)
End Function
 
Private Sub Form_Load()
Text1.Text = "1111111" & vbCrLf & "22222" & vbCrLf & "3333" & vbCrLf & "4444"
End Sub
 
Private Sub Command1_Click()
Debug.Print GetLine(Text1.hWnd, 1)
Debug.Print GetLine(Text1.hWnd, 2)
Debug.Print GetLine(Text1.hWnd, 3)
Debug.Print GetLine(Text1.hWnd, 4)
End Sub

Оцени полезность:

7   голосов , оценка 4.143 из 5
Похожие ответы