补充:
(我想用一个水平滚动条来控制两个richtextbox同步水平滚动richtextbox 滚动,但这些不动,同样的源码在textbox
却有效)
不用API.PrivateSubHScroll1_Scroll()
RichTextBox1.SelStart=HScroll1.Value
RichTextBox2.SelStart=HScroll1.Value
![]()
EndSub
首先,检查一下你的richtextbox是否有横向滚动条。其次,处理HScroll1_Scroll事件是否改为处理HScroll1_Change事件
参考rainstormmaster(暴风雨v2.0)的看法吧。
我帮你UP
richtextbox有横向滚动条,且scroll比change事件更有动态性。
午夜狂街的方式实在不好用。

是挺纳闷的,这条短句用在textbox上就可以,用在richtextbox就没反应。关注!!!
关注,以后遇到MSFlexGrid的滚动条不能拉的现象就很奇怪
这是MSDN上关于EM_LINESCROLL的说明~?url=/library/en-us/shellcc/platform/commctls/editcontrols/editcontrolreference/editcontrolmessages/em_linescroll.asp
其中:
wParam
Editcontrols:Specifiesthenumberofcharacterstoscrollhorizontally.
Richeditcontrols:Thisparameterisnotused;itmustbezero.再加上前面的:
RichEdit:SupportedinMicrosoftRichEdit1.0andlater.TheEM_LINESCROLLmessagescrollsthetextverticallyinamultilineeditcontrol.如果……
RichText通过EM_LINESCROLL来水平滚动应该是行不通的……
可以尝试发送EM_SCROLL消息
TheEM_SCROLLmessagescrollsthetextverticallyinamultilineeditcontrol.ThismessageisequivalenttosendingaWM_VSCROLLmessagetotheeditcontrol.Youcansendthismessagetoeitheraneditcontroloraricheditcontrol.EM_SCROLL也不行的……
RichTextBox与其它的控件不太一样richtextbox 滚动,它是向父窗口递交WM_HSCROLL消息,但仅仅如此其实会出现RichTextBox内容与滚动条位置不同步的现象,所以还要用到SetScrollPos函数,但是可能这么些ConstWM_HSCROLL=&H114PrivateSubHScroll1_Scroll()
j=HScroll1.Value
lngRet1=SendMessage(RichTextBox1.hWnd,WM_HSCROLL,&h10000*j+&h5,)
lngRet2=SetScrollPos(RichTextBox2.hWnd,SB_CTL,j,True)
''''''''''(切记SendMessage中wParam参数的高字位才是新位置,但是写出&h10000*j+&h5)
lngRet3=SendMessage(RichTextBox1.hWnd,WM_HSCROLL,&h10000*j+&h5,)
lngRet4=SetScrollPos(RichTextBox2.hWnd,SB_CTL,j,True)EndSub
你试一试,有多少难题再说吧
qq42973162
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-119014-1.html
我们还可以顺理成章确认这些人工岛符合