|
Language: VB4/32,VB5,VB6 Expertise: Intermediate
Mar 31, 2001
TextBoxGetLine - Return a single line in a multiline TextBox control
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal _
hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, _
lParam As Any) As Long
Const EM_LINEINDEX = &HBB
Const EM_LINELENGTH = &HC1
' Return the specified line in a multiline TextBox control.
Function TextBoxGetLine(tb As TextBox, ByVal lineNum As Long) As String
Dim charOffset As Long, lineLen As Long
' Retrieve the character offset of the first character of the line.
charOffset = SendMessage(tb.hwnd, EM_LINEINDEX, lineNum, ByVal 0&)
' Now it is possible to retrieve the length of the line.
lineLen = SendMessage(tb.hwnd, EM_LINELENGTH, charOffset, ByVal 0&)
' Extract the line text.
TextBoxGetLine = Mid$(tb.Text, charOffset + 1, lineLen)
End Function
Francesco Balena
|