如何取得richTextBox中某一行的字符,要求遇到中文时也能够正确取出!敬待
Public Function LineText(txtRichBox As RichTextBox, lineNumber As Long) _
As String
Dim nRet As Long
nRet = SendMessage(txtRichBox.hWnd, EM_LINEINDEX, lineNumber - 1, _
ByVal 0)
LineText = Space(SendMessage(txtRichBox.hWnd, EM_LINELENGTH, _
nRet, ByVal 0) + 2)
' Mid(LineText, 1, 1) = Chr(LenB(StrConv(LineText, vbFromUnicode)) Mod 256)
' Mid(LineText, 2, 1) = Chr(LenB(StrConv(LineText, vbFromUnicode)) \ 256)
Mid(LineText, 1, 1) = Chr(Len(LineText) Mod 256)
Mid(LineText, 2, 1) = Chr(Len(LineText) \ 256)
nRet = SendMessage(txtRichBox.hWnd, EM_GETLINE, lineNumber - 1, _
ByVal LineText)
Debug.Print Len(StrConv(LineText, vbFromUnicode)), nRet
LineText = Mid(LineText, 1, nRet)
End Function
我用了这段代码可以取到英文内容的某一行,但是有中文时出乱码,如果使用textBox则没有这个现象!!
有没有更好的方法,可以推荐