如何判断文本框的内容超出了,显示范围呢?

z_kai 2004-12-30 10:39:24
比如文本框只能显示15行,,如果超出了这个就要提示,,15是一个不确定的值,(文本框大小不一定)

比如文本框一行只能显示30个字,超出了就要提示,文本框的值也是会变的
...全文
705 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wwqna 2004-12-31
  • 打赏
  • 举报
回复

' 获得文本框中某一行的内容
' hwnd 为文本框的句柄, Line 为文本框中的行号
Function GetTextLines(ByVal hwnd As Long, ByVal Line As Long) As String
Dim length As Long, bArr() As Byte, bArr2() As Byte, lc As Long
lc = SendMessage(hwnd, EM_LINEINDEX, Line - 1, 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, Line - 1, bArr(0))
Call RtlMoveMemory(bArr2(0), bArr(0), length)
GetTextLines = StrConv(bArr2, vbUnicode)
Else
GetTextLines = ""
End If
End Function

' 获得文本框中的行数
' hwnd 为文本框的句柄
Function GetTextRowCount(ByVal hwnd As Long) As Long
GetTextRowCount = SendMessageBynum(hwnd, EM_GETLINECOUNT, 0, 0&)
End Function
maskdata 2004-12-31
  • 打赏
  • 举报
回复
判断vbCrLf
lyxhappy 2004-12-31
  • 打赏
  • 举报
回复
UP
tjficcbw 2004-12-30
  • 打赏
  • 举报
回复
您可是带星的呀
tjficcbw 2004-12-30
  • 打赏
  • 举报
回复
文本框是自动回车的,是没有回车的。
熊孩子开学喽 2004-12-30
  • 打赏
  • 举报
回复
给你个思路:判断文本框中的回车符号,如果有14个回车符号就是15行,超过了就提示。
回车符号:chr(13)

1,451

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧