程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> FAQ:如何訪問WebBrowser的滾動條

FAQ:如何訪問WebBrowser的滾動條

編輯:Delphi

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved