如何在IE控件的编程中实现自动滚动功能。(100分)

  • 主题发起人 主题发起人 chonghai
  • 开始时间 开始时间
C

chonghai

Unregistered / Unconfirmed
GUEST, unregistred user!
现在有些网页(读书类),在IE中可以实现很平滑的自动滚动。一般是双击体现。
请教各位的是如何在Delphi程序中实现呢。
谢谢。
 
这个问题还没有解决??
其实我也不知道,但是MyIE就可以自动滚动,
而且该软件也提供源码,不过是VC编的,
我试着去看看吧,
你不妨自己看看
 
Try it !!! Only use it in WebBrowser 。

procedure TForm1.WebBrowser1KeyDown(Sender: TObject
var Key: Word;
Shift: TShiftState);
begin
if Key = VK_F8 then
SendMessage(WebBrowser1.Handle,WM_VSCROLL,SB_PAGEDOWN,0)
else if Key = VK_F7 then
SendMessage(WebBrowser1.Handle,WM_VSCROLL,SB_PAGEUP,0)

end;
 
找到MyIE中的代码
代码:
LPDISPATCH pDisp = NULL;

IHTMLDocument2 *pHTMLDoc = NULL;
IHTMLWindow2 *pHTMLWnd = NULL;

try{
	pDisp = pvw->GetHtmlDocument();
	if( pDisp )
	{
		if (SUCCEEDED(pDisp->QueryInterface(IID_IHTMLDocument2, (void**)&pHTMLDoc)))
		{
			if(SUCCEEDED(pHTMLDoc->get_parentWindow( &pHTMLWnd )))
			{
				pHTMLWnd->scrollBy(0, 1);
			}
		}
	}
}
catch(...)
{
}

try{
	if(pHTMLWnd!=NULL)
		pHTMLWnd->Release();
	if(pHTMLDoc!=NULL)
		pHTMLDoc->Release();
	if(pDisp!=NULL)
		pDisp->Release();
}
catch(...)
{
}

使用Delphi从WebBrowser 可以得到Document接口,
按上面的代码再得到一个窗口接口,再可以实现该功能。
 
多人接受答案了。
 
后退
顶部