VB文本框获取行数的问题

我用下面的代码来获取文本框内容的行数,但是有一个问题,当每行的文字长度超过文本框的宽度时,就会被算作2行,我只想用向下滚动条,不想用左右滚动条,请问那位高人可以帮忙解决一... 我用下面的代码来获取文本框内容的行数,但是有一个问题,当每行的文字长度超过文本框的宽度时,就会被算作2行,我只想用向下滚动条,不想用左右滚动条,请问那位高人可以帮忙解决一下。

代码如下:
Const EM_GETLINECOUNT = 186
Private Declare Function SendMessageAsLong Lib "user32" _
Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, ByVal lParam As Long) As Long

Private Sub Text1_Change()
Dim lCount As Long
lCount = SendMessageAsLong(Text1.hWnd, EM_GETLINECOUNT, 0, 0)
Label1.Caption = "Rows:" & lCount
End Sub
展开
 我来答
149005501
推荐于2018-04-20 · TA获得超过8.6万个赞
知道顶级答主
回答量:7.9万
采纳率:90%
帮助的人:1.3亿
展开全部
换行的符号是 0x0A,0x0D 组成,只要判断有几个这个符号就知道有几行了。如果当前行也算,再加1就行了,代码如下:

Private Sub Text1_Change()
Label1.Caption = Len(Text1) - Len(Replace(Text1, Chr(10), "")) & "行"
End Sub
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式