Delphi WebBrowser控件的使用


WebBrowser控件屬性:


1、Application
      如果該對象有效,則返回掌管WebBrowser控件的應用程序實現的自動化對象(IDispatch)。如果在宿主對象中自動化對象無效,程序將返回WebBrowser控件的自動化對象
2、Parent
       返回WebBrowser控件的父自動化對象,通常是一個容器,例如是宿主或IE窗口
3、Containe
       返回WebBrowser控件容器的自動化對象。通常該值與Parent屬性返回的值相同
4、Document
       為活動的文檔返回自動化對象。如果HTML當前正被顯示在WebBrowser中,則Document屬性提供對DHTML Object Model的訪問途徑
5、TopLevelContainer
       返回一個Boolean值,表明IE是否是WebBrowser控件頂層容器,是就返回true
6、Type
       返回已被WebBrowser控件加載的對象的類型。例如:如果加載.doc文件,就會返回Microsoft Word Document
7、Left
       返回或設置WebBrowser控件窗口的內部左邊與容器窗口左邊的距離
8、Top
       返回或設置WebBrowser控件窗口的內部左邊與容器窗口頂邊的距離
9、Width
       返回或設置WebBrowser窗口的寬度,以像素為單位
10、Height
       返回或設置WebBrowser窗口的高度,以像素為單位
11、LocationName
       返回一個字符串,該字符串包含着WebBrowser當前顯示的資源的名稱,如果資源是網頁就是網頁的標題;如果是文件或文件夾 ,就是文件或文件夾的名稱
12、LocationURL
       返回WebBrowser當前正在顯示的資源的URL
13、Busy
       返回一個Boolean值,說明WebBrowser當前是否正在加載URL,如果返回true就可以使用stop方法來撤銷正在執行的訪問操作<br/>

 


WebBrowser控件的事件:

<br/>

1、BeforeNavigate2 導航發生前激發,刷新時不激發

2、CommandStateChange 當命令的激活狀態改變時激發。它表明何時激活或關閉Back和Forward菜單項或按鈕

3、DocumentComplete 當整個文檔完成是激發,刷新頁面不激發

4、DownloadBegin 當某項下載操作已經開始后激發,刷新也可激發此事件

5、DownloadComplete 當某項下載操作已經完成后激發,刷新也可激發此事件

6、 NavigateComplete2 導航完成后激發,刷新時不激發 NewWindow2 在創建新窗口以前激發

7、OnFullScreen 當FullScreen屬性改變時激發。該事件采用VARIENT_BOOL的一個輸入參數來指示IE是全屏顯示方式(VARIENT_TRUE)還是普通顯 示方式(VARIENT_FALSE)

8、OnMenuBar 改變MenuBar的屬性時激發,標示參數是VARIENT_BOOL類型的。VARIANT_TRUE是可見,VARIANT_ FALSE是隱藏

9、OnQuit 無論是用戶關閉瀏覽器還是開發者調用Quit方法,當IE退出時就會激發

10、 OnStatusBar 與OnMenuBar調用方法相同,標示狀態欄是否可見。

11、 OnToolBar 調用方法同上,標示工具欄是否可見。

12、 OnVisible 控制窗口的可見或隱藏,也使用一個VARIENT_BOOL類型的參數

13、StatusTextChange 如果要改變狀態欄中的文字,這個事件就會被激發,但它並不理會程序是否有狀態欄

14、TitleChange 網頁標題有效或改變時激發

 

WebBrowser控件的函數:

1、 GoBack 相當於IE的”后退”按鈕,使你在當前歷史列表中后退一項

2、GoForward 相當於IE的”前進”按鈕,使你在當前歷史列表中前進一項

3、 GoHome 相當於IE的”主頁”按鈕,連接用戶默認的主頁

4、GoSearch 相當於IE的”搜索”按鈕,連接用戶默認的搜索頁面

5、 Navigate 連接到指定的URL

6、Refresh 刷新當前頁面

7、Refresh2 同上,只是可以指定刷新級別,所指定的刷新級別的值來自RefreshConstants枚舉表,該表定義在ExDisp.h中,可以指定的不同值 如下: REFRESH_NORMAL 執行簡單的刷新,不將HTTP pragma: no-cache頭發送給服務器 REFRESH_IFEXPIRED 只有在網頁過期后才進行簡單的刷新 REFRESH_CONTINUE 僅作內部使用 REFRESH_COMPLETELY 將包含pragma: no-cache頭的請求發送到服務器 <br><br/>

例子程序

1、WebBrowser1.OleObject.document.all.item('btnName').click;//根據頁面中按鈕的名稱執行其點擊事件

2、WebBrowser1.OleObject.document.getElementByID('btnID').click;//根據按鈕ID點擊

3、WebBrowser1.OleObject.document.getElementsByTagName('input').item(0).click;//根據按鈕索引點擊

4、WebBrowser1.OleObject.document.all.item('userName').value:=userName;//修改文本框信息,也可用ID,同上

5、ShellExecute(0,'open','www.baidu.com',nil,nil,SW_SHOW);//為瀏覽器打開一個網頁

 

1、去滾動條

procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
begin
    WebBrowser1.oleobject.Document.body.style.overflow:= 'hidden';
end;

2、滾屏

//uses MSHTML;
var
    a: IHTMLDocument2;
begin
    y:=y+20;   //加減進行上下滾動
    a :=WebBrowser1.Document as IHTMLDocument2;
    a.Get_ParentWindow.Scroll(x,y);
end;

3、去邊框

WebBrowser1.OleObject.Document.Body.style.border := 'none';
WebBrowser1.OleObject.Document.Body.Style.margin := '0px';

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM