如何控制richtextbox显示内容?(比如我想显示第某行的)

studentcom 2003-02-10 09:11:48
richtextbox里的文字很长,已经超出了这个输入框的显示范围,那么就有一部分文字是不能显示在这个输入框里了,但是我们可以通过拖动滚动条来看到没有显示的文字,能否有方法控制其显示任何一行?
...全文
196 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
northwolves 2003-02-12
  • 打赏
  • 举报
回复
Const EM_GETLINE = &HC4
Const EM_LINELENGTH = &HC1
Const EM_LINEINDEX = &HBB
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function CreateMenu Lib "user32" () As Long
Private Declare Sub RtlMoveMemory Lib "KERNEL32" (lpvDest As Any, lpvSource As Any, ByVal cbCopy As Long)
Function GetLine(ByVal hWnd As Long, ByVal whichLine As Long)
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)
GetLine = StrConv(bArr2, vbUnicode)
Else
GetLine = ""
End If
End Function

Private Sub Command1_Click()
MsgBox GetLine(RichTextBox1.hWnd, 16)
End Sub
puhaohmaru 2003-02-12
  • 打赏
  • 举报
回复
同意,顶~~
13161795500 2003-02-10
  • 打赏
  • 举报
回复
up!抢分!
holydiablo 2003-02-10
  • 打赏
  • 举报
回复
随意控制行我没找到
但是通过selstart可以控制显示的起始点
minajo21 2003-02-10
  • 打赏
  • 举报
回复
这个比较困难

1,451

社区成员

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

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