Delphi

本类阅读TOP10

·分布式网络考试系统原型分析及实现
·游戏外挂设计技术探讨①
·使用HOOK随心监视Windows
·Delphi 水晶报表打包解决
·试题库开发中非文本数据的处理
·如何将几个DBGRID里的内容导入同一个EXCEL表中....的问题
·如何使用Delphi设计强大的服务器程序
·工人线程中关闭窗体的实现
·用DLL方式封装MDI子窗体。
·支持XP下托盘栏气球提示的托盘单元

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
FAQ:如何访问WebBrowser的滚动条

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

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

我使用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的滚动条




相关文章

相关软件