手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>程序设计>delphi>列表

FAQ:如何访问WebBrowser的滚动条

来源:互联网 作者:西部数码 时间:2008-04-09
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

问========================================

我使用webbrowser控件,但是想用自己的滚动条,但不知如何得到webbrowser中滚动条的长度,怎么办?谢谢!!

2004-10-24

答========================================

抱歉拖了很久才回复你的问题。
WebBrowser的滚动条不是一般的Windows滚动条,用GetScrollPos或GetScrollInfo等API是不能访问的。下面的代码演示了在VC中如何通过HTML接口来访问浏览器的滚动条。

HRESULT hr;
IDispatch *pDisp = GetHtmlDocument();
ASSERT( pDisp ); //if NULL, we failed

// 获得Html文档指针
IHTMLDocument2 *pDocument = NULL;
hr = pDisp->QueryInterface( IID_IHTMLDocument2, (void**)&pDocument );
ASSERT( SUCCEEDED( hr ) );
ASSERT( pDocument );

IHTMLElement *pBody = NULL;
hr = pDocument->get_body( &pBody );
ASSERT( SUCCEEDED( hr ) );
ASSERT( pBody );

// 从body获得IHTMLElement2接口指针,用以访问滚动条
IHTMLElement2 *pElement = NULL;
hr = pBody->QueryInterface(IID_IHTMLElement2,(void**)&pElement);
ASSERT(SUCCEEDED(hr));
ASSERT( pElement );

// 向下滚动100个像素
pElement->put_scrollTop( 100 );

// 获得滚动条高度
long scroll_height;
pElement->get_scrollHeight( &scroll_height );

// 获得滚动条宽度
long scroll_height;
pElement->get_scrollWidth( &scroll_width );

// 获得滚动条位置,从顶端开始
long scroll_top;
pElement->get_scrollTop( &scroll_top );

引用地址FAQ:如何访问WebBrowser的滚动条

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!