怎样得到文本框(TextBox)中的文本行数?

 

怎样得到文本框(TextBox)中的文本行数?

 

计算文本框中输入文本的行数可以使用SendMessage函数返回,当一行文字发生环绕时,它将被当作新的一行,而被非简单的计算文本中的换行符个数。

 

把以下API函数的声明添入模块文件的general declarations区域,如果您使用的是VB4-32或VB5,也可以把此声明添入Form1的general declarations中,并把所有的“Public”更换为“Private”。

 

Option Explicit

 

Public Declare Function SendMessageLong Lib _

"user32" Alias "SendMessageA" _

(ByVal hwnd As Long, _ 

ByVal wMsg As Long, _ 

ByVal wParam As Long, _

ByVal lParam As Long) As Long

 

Public Const EM_GETLINECOUNT = &HBA 

Form Code

Sub Text1_Change()

Dim lineCount as Long

On Local Error Resume Next

 

'得到/显示文本行数

lineCount = SendMessageLong(Text1.hwnd, EM_GETLINECOUNT, 0&, 0&)

Label1 = Format$(lineCount, "##,###")

End Sub 

 

注释:

为了使本程序成功,请在设计阶段把文本框的Multiline属性设为True。

你可能感兴趣的:(function,api,user,vb,textbox)