FAQ:如何访问WebBrowser的滚动条

原创 2004年11月05日 00:48:00

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

我使用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_width;
    pElement->get_scrollWidth( &scroll_width );

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

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

WebBrowser控件——设置滚动条位置

 遇到一个问题:在用WebBrowser控件打开网页后,让网页中的滚动条滚动到最底部。在网上找到了方法:用DCOM组件技术,获取HTML接口指针。(前一阵做调用网页中的JavaScript函数也是采用...
  • primer_programer
  • primer_programer
  • 2007年12月26日 21:08
  • 4491

webbrowser滚动条隐藏

  • 2015年10月29日 17:20
  • 29KB
  • 下载

webbrowser滚动条位置

  • 2017年09月26日 14:43
  • 53KB
  • 下载

WebBrowser中怎么获取滚动条位置

网页可见区域宽:document.body.clientWidth; 网页可见区域高:document.body.clientHeight; 网页可见区域宽:document.body.offsetW...
  • god00
  • god00
  • 2011年05月25日 09:17
  • 1133

delphi WebBrowser的使用方法详解(五)-难点释疑

网页代码: 每頁顯示15筆 每頁顯示30筆 每頁顯示60筆   1.webbrowser执行网页中的JS函数 如果要执行TouchRefresh(1)函数:   webbrowser1.oleobje...
  • xtfnpgy
  • xtfnpgy
  • 2013年11月13日 10:44
  • 5773

MFC C++代码与WebBrowser HTML的互动(还需完善)

testWebBrowser.h testWebBrowser.cpp tset.html
  • lee353086
  • lee353086
  • 2014年08月03日 17:02
  • 9202

移动端网页嵌套一个div,需要滚动条,但是在移动端浏览器上面没办法滚的问题

这里不是点名,但是假如各位在安卓机子(即使是安卓4)下面用过qq浏览器,那么标题这个bug就很明显了。 下面就是各种解决方案。 Android browser bug? div...
  • cdnight
  • cdnight
  • 2015年02月10日 10:32
  • 11644

去掉WebBrowser的边框和滚动条

  • 2011年08月30日 16:09
  • 7KB
  • 下载

webbrowser滚动条隐藏

  • 2015年10月29日 17:20
  • 29KB
  • 下载

delphi去除webbrowser滚动条的正确方法(流传的都不对)

今天乱翻论坛,回答了一个网友的问题。 http://topic.csdn.net/u/20101006/08/a372ebf1-838e-4653-a7f7-517fac560f47.html?se...
  • t1122
  • t1122
  • 2012年04月11日 11:29
  • 1397
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:FAQ:如何访问WebBrowser的滚动条
举报原因:
原因补充:

(最多只允许输入30个字)