FAQ:如何访问WebBrowser的滚动条收藏

原创 2008年10月01日 22:21:00

FAQ:如何访问WebBrowser的滚动条收藏

新一篇: 多层数据库开发三:创建多层应用程序 | 旧一篇: TEmbeddedwb的一个小bug



<script type="text/javascript"> google_ad_client="pub-6065469188450680"; google_ad_width=728; google_ad_height=90; google_ad_format="728x90_as"; google_ad_type="text_image"; google_ad_channel="7916807314"; </script><script style="display: none;" src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script>

 

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

我使用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 );

纯css,div隐藏滚动条,保留鼠标滚动效果。

隐藏div滚动条,但是保留滚动功能。
  • liusaint1992
  • liusaint1992
  • 2016年04月28日 21:46
  • 38892

overflow滚动条消失小技巧

模拟滚动条在工期紧张情况下,会比较烦心。但是又想要滚动效果,又不想看到滚动条怎么办呢??当然有scroolbar等一系列css属性可用。但是兼容性真不心水啊。为了尽快完成开发,什么剑走偏锋都要来一遍了...
  • yuki_haha
  • yuki_haha
  • 2017年05月25日 12:21
  • 2580

使用 webBrowser 进行页面采集时捕获所有xhr数据

最近又开始玩采集了,这次的采集目标很别扭,基本上所有的数据都是通过异步加载到页面的,也就是说通过 HttpWebRequest 这个类进行采集的话,基本上获取不到真实数据了,或者非要使用 HttpWe...
  • superwfei
  • superwfei
  • 2017年03月09日 18:28
  • 1615

去掉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
  • 1398

C# Chart表格多个ChartArea、Series显示;滚动条ScrollBar实时更新,显示在最右边

  • 2018年01月07日 17:04
  • 51KB
  • 下载

伸缩菜单和自定义滚动条样式

  • 2017年09月25日 17:20
  • 79KB
  • 下载

手机端加滚动条iscroll-lite

  • 2016年08月04日 22:50
  • 5KB
  • 下载

C#001滚动条的应用

  • 2016年07月23日 23:09
  • 168KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:FAQ:如何访问WebBrowser的滚动条收藏
举报原因:
原因补充:

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