搜尋此網誌

2011/12/19

Delphi TWebBrowser 程式控制捲動、ScrollBar顯示及全頁面

設定TWebBrowser中網頁的ScrollBar顯示 / 隱藏

  • 顯示時不需設定 (空字串)
  • 隱藏時設字串為「Hidden 」
設為隱藏的例子:
X軸:WebBrowser.OleObject.document.body.style.overflowX := 'hidden';
Y軸:WebBrowser.OleObject.document.body.style.overflowY := 'hidden' ;


設定TWebBrowser為全頁面
在放入TWebBrowser元件後,幾乎不太可能整個Web頁的顯示,能全部放在元件中,通常是這種情況:
在某些特殊狀況下,我們是希望即使在TWebBrowser的可見範圍,不是整個網頁的狀況下,TWebBrowser本身還是包括了整個網頁,亦即TWebBrowser的Height和Width二個Property,等同整個網頁的Height和Width。作法如下:


  • 先將TWebBrowser中網頁的ScrollBar設為隱藏
  • 確認網頁已經載入完畢
  • 加入以下程式碼,將TWebBrowser的Height和Width設為等同其顯示網頁的Height和Width
WebBrowser.OleObject.Document.Body.LastChild.ScrollIntoView;
WebBrowser.Height := StrToInt(WebBrowser.OleObject.Document.Body.scrollHeight);
WebBrowser.Width := StrToInt(WebBrowser.OleObject.Document.Body.scrollWidth);
WebBrowser.OleObject.Document.Body.FirstChild.ScrollIntoView;


TWebBrowser的上下捲動
有時需要程式控制網頁的上下捲動,而不是要使用者去點TWebBrowser的頁面,程式語法如下:
i := 100;
WebBrowser1.OleObject.Document.ParentWindow.ScrollBy(0, i);
上面的例子為向下捲動100個Pixel。

i := WebBrowser1.Height;
WebBrowser1.OleObject.Document.ParentWindow.ScrollBy(0, i);

上面的例子為一次向下捲動一個TWebBrowser的可見區,模擬Page Down







沒有留言: