用VB怎样提取TEXTBOX中的一行?
网上有一段是这样的
Sub TB_GetLine(ByVal hwnd As Long, ByVal whichLine As Long, Line As String)
Dim length As Long, bArr() As Byte, bArr2() As Byte, lc As Long
lc = SendMessage(hwnd, EM_LINEINDEX, whichLine, ByVal 0&)
length = SendMessage(hwnd, EM_LINELENGTH, lc, ByVal 0&)
If length > 0 Then
ReDim bArr(length + 1) As Byte, bArr2(length - 1) As Byte
Call RtlMoveMemory(bArr(0), length, 2) '准备一个存储器,传递消息之前先在存储器的前两个字节填入存储器的长度
Call SendMessage(hwnd, EM_GETLINE, whichLine, bArr(0))
Call RtlMoveMemory(bArr2(0), bArr(0), length)
Line = StrConv(bArr2, vbUnicode)
Else
Line = ""
End If
End Sub
对英文支持的很好 可是到了中文就不行了。哪位大侠帮帮忙。谢谢啦
Sub TB_GetLine(ByVal hwnd As Long, ByVal whichLine As Long, Line As String)
Dim length As Long, bArr() As Byte, bArr2() As Byte, lc As Long
lc = SendMessage(hwnd, EM_LINEINDEX, whichLine, ByVal 0&)
length = SendMessage(hwnd, EM_LINELENGTH, lc, ByVal 0&)
If length > 0 Then
ReDim bArr(length + 1) As Byte, bArr2(length - 1) As Byte
Call RtlMoveMemory(bArr(0), length, 2) '准备一个存储器,传递消息之前先在存储器的前两个字节填入存储器的长度
Call SendMessage(hwnd, EM_GETLINE, whichLine, bArr(0))
Call RtlMoveMemory(bArr2(0), bArr(0), length)
Line = StrConv(bArr2, vbUnicode)
Else
Line = ""
End If
End Sub
对英文支持的很好 可是到了中文就不行了。哪位大侠帮帮忙。谢谢啦
...全文
相关推荐
VB文本框TEXTBOX文字垂直居中
VB文本垂直居中,主要是为了补TEXTBOX不能垂直居中的不足
VB的TextBox文本框实现垂直居中显示的方法
主要介绍了VB的TextBox文本框实现垂直居中显示的方法,比较实用的功能,需要的朋友可以参考下
一个VB中打印ListView、ListBox、Combo、TextBox中的内容的源码
一个VB中如何打印ListView、ListBox、Combo、TextBox中的内容的程序源码
VB用Textbox做的记事本
自己用TextBox的记事本。供刚学VB的新手们参考参考
vb.net 重写Textbox 实例
挺好的,12345678901112131415


VB基础类
