怎么控制TWebBrowser,tfrPreview中的滚动条! ( 积分: 100 )

  • 主题发起人 主题发起人 汪向阳
  • 开始时间 开始时间

汪向阳

Unregistered / Unconfirmed
GUEST, unregistred user!
我用发送windows的消息的模式实现,tmemo就可以,但是TWebBrowser,tfrPreview就是不行!

sendmessage(Memo1.Handle,WM_VSCROLL,SB_LINEDOWN,0)这个就没有问题!

但是
sendmessage(WebBrowser1.Handle,WM_VSCROLL,SB_LINEDOWN,0);
sendmessage(frPreview1.Handle,WM_VSCROLL,SB_LINEDOWN,0);就是不行,请各位指教!
用的别的方法实现也可以!
 
我用发送windows的消息的模式实现,tmemo就可以,但是TWebBrowser,tfrPreview就是不行!

sendmessage(Memo1.Handle,WM_VSCROLL,SB_LINEDOWN,0)这个就没有问题!

但是
sendmessage(WebBrowser1.Handle,WM_VSCROLL,SB_LINEDOWN,0);
sendmessage(frPreview1.Handle,WM_VSCROLL,SB_LINEDOWN,0);就是不行,请各位指教!
用的别的方法实现也可以!
 
http://www.delphibbs.com/delphibbs/dispq.asp?lid=431121
搜一下有很多帖子。
 
// 将卷轴拉到最下面来
PostMessage(GetWindow(GetWindow(swSaying->Handle, GW_CHILD), GW_CHILD), WM_VSCROLL, SB_BOTTOM, 0);

//swSaying 是TCppWebBrowser控件名(就是Delphi中的TWebBrowser)
//SB_BOTTOM 是消息名
这个也不行,不知道怎么办?
 
newsmile 能给个具体解决办法吗?急用,谢谢
 
谢谢各位搞定!
1、tWebBrowser
var
hr: HRESULT;
pDisp: IDispatch;
pDocument: IHTMLDocument2;
pBody: IHTMLElement;
pElement: IHTMLElement2;
BEGIN
pDisp := WebBrowser1.ControlInterface.Document;
hr := pDisp.QueryInterface(IID_IHTMLDocument2, pDocument);
pBody := pDocument.body;
hr := pBody.QueryInterface(IID_IHTMLElement2, pElement);
pElement.scrollTop := pElement.scrollTop - 100;
END;

2、tfrPreview:(直接从他源码那里找到窗体中找到)
frPreview1.Window.VScrollBar.Position
 
后退
顶部