VB 中如何获取RichTextBox正在显示的内容 35
RichTextBox1中信息量很大,我只想要RichTextBox1正在显示的内容,没显示的不要,这个该如何写代码?谢谢!就比如这个图片,带有滚动条,下面还有很多内容,...
RichTextBox1中信息量很大,我只想要RichTextBox1正在显示的内容,没显示的不要,这个该如何写代码?谢谢!
就比如这个图片,带有滚动条,下面还有很多内容,
我现在不需要滚动条以下的内容,
只需要窗口里面的内容,从HTML到</a>
怎么提取出来? 展开
就比如这个图片,带有滚动条,下面还有很多内容,
我现在不需要滚动条以下的内容,
只需要窗口里面的内容,从HTML到</a>
怎么提取出来? 展开
4个回答
展开全部
我们当年好像是通过滚动条定位的。滚动条那个模铅有专门的函数可以知道旦派好当前滚动条的位置,然后通过行间距和行高什么的就可以知道当前页面有多少行,然后你通过定位字符位置的那个函数就可以读取当前页面的文字啦羡早~~
更多追问追答
追问
额,这个我试了一下,可以定位到滚动条哪里但是RichTextBox1内容不会自动变化,非要点一下滚动条才会显示,要怎么解决了?
SetScrollPos RichTextBox1.hwnd, SB_VERT, 5000, True '跳转到滚动条5000的位置
追答
刷新不就行啦,有函数的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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
Const WM_GETTEXT = &HD
Const WM_GETTEXTLENGTH = &HE
Function GraspText(ByVal Thwnd As Long) As String
Dim TextLen As Long, TextStr As String
Thwnd = Val(Thwnd)
TextLen = SendMessage(Thwnd, WM_GETTEXTLENGTH, 0, 0)
If TextLen = 0 Then GraspText = "": Exit Function
TextLen = TextLen + 1
TextStr = Space(TextLen)
TextLen = SendMessage(Thwnd, WM_GETTEXT, TextLen, ByVal TextStr)
GraspText = Left(TextStr, TextLen)
End Function
As Long, ByVal wParam As Long, lParam As Any) As Long
Const WM_GETTEXT = &HD
Const WM_GETTEXTLENGTH = &HE
Function GraspText(ByVal Thwnd As Long) As String
Dim TextLen As Long, TextStr As String
Thwnd = Val(Thwnd)
TextLen = SendMessage(Thwnd, WM_GETTEXTLENGTH, 0, 0)
If TextLen = 0 Then GraspText = "": Exit Function
TextLen = TextLen + 1
TextStr = Space(TextLen)
TextLen = SendMessage(Thwnd, WM_GETTEXT, TextLen, ByVal TextStr)
GraspText = Left(TextStr, TextLen)
End Function
追问
a = GraspText(RichTextBox1.hwnd)
调用无效啊,窗体中如何取值?要怎么调用啊?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我不知道RichTextBox1下面还有什么内容,你可以用split函数试一下
追问
我的意思是不管RichTextBox1里面有什么内容,只要提出当前显示的内容就可以了,split函数要知道内容不行。
追答
没思路。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
总之都需要有动作来激活截取过程,你是想不点鼠标就取到数据吗。
代码不难...
代码不难...
更多追问追答
追问
是啊,可不可以贴下代码或者发我邮箱啊,hilaiba@163.com
追答
Private Sub Command2_Click()
If Right(RichTextBox1.Text, 4) = "" Then Exit Sub
RichTextBox1.Text = Left(RichTextBox1.Text, Len(RichTextBox1.Text) - InStr(RichTextBox1.Text, ""))
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询