第2个回答 2009-07-27
获得指定行的文字
Private Const EM_LINEINDEX = &HBB
Private Const EM_LINELENGTH = &HC1
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
Private Const EM_GETLINE = &HC4
Private Function GetTextLn(Text As TextBox, ByVal LineNum As Integer) As String
Dim a() As Byte
ln = SendMessage(Text.hwnd, EM_LINELENGTH, LineNum - 1, ByVal 0&)
ReDim a(ln)
a(1) = 1
ln = SendMessage(Text.hwnd, EM_GETLINE, LineNum - 1, a(0))
GetTextLn = StrConv(a, vbUnicode)
GetTextLn = Left(GetTextLn, ln)
End Function
例:获得text1中第2行的内容
stmp=GetTextLn(text1,2)