亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Delphi > 正文

在Delphi程序中應用IE瀏覽器控件

2019-11-18 18:57:23
字體:
來源:轉載
供稿:網友

在Delphi程序中應用IE瀏覽器控件

王發軍

---- 大概大家還記得Delphi的范例程序中的那個瀏覽器的例子吧。在那個例子中,利用控件THttp的屬性和方法制作了一個瀏覽器。該例子用于理解THttp控件的使用方法,確實不錯。但很少有人會用它作為一個真正的瀏覽器,原因很簡單,功能太有限了,不支持Frame,不支持Script腳本語言,不能以本地文件方式查看HTML文件等等。大部分用戶在使用IE或Navigator;我們程序員也樂意使用現成的瀏覽器,在需要使用瀏覽器時,就在程序中通過WinExec或CreatePRocess等方法調用外部瀏覽器讓用戶使用。這種方法確實挺省事的,但總讓筆者有點不甘心,把程序控制權讓給其它外部程序總讓自己很感到麻煩,尤其當應用軟件的使用者的計算機使用水平不是很高時。如果能有一個瀏覽器控件,就可把瀏覽器嵌入到自己的程序中,那應該挺不錯的。

---- 如果你的軟件的外部環境是WIN95+IE或WIN98(這樣的軟件使用率還很高的),那樣在系統中就已經有了一個IE瀏覽器控件可以使用了,也許是你長時間沒有發覺吧,別浪費資源了,拿來使用吧。當系統中已經安裝了IE3.X或IE4.X時,IE瀏覽器控件已經注冊到系統中了,請運行Regedit,用“編輯”菜單下的“查找”功能,查找“Shell.Explorer”鍵名,你會發現 IE控件已經作為ActiveX控件注冊在系統中了,這樣就我們可以在Delphi中使用該控件了。

一、 在Delphi中引入IE瀏覽器控件

 

---- 由于IE瀏覽器控件需要提供顯示功能才能使用,所以不能在程序中用CreateOleObject取得一個實例后直接使用其屬性和方法,否則程序在運行時會引起錯誤;這時需要用Delphi中提供的 “Import ActiveX Control”功能,操作方法見下所述。

---- 在“Components”菜單中,調用“Import ActiveX Control”功能,在Registered Controls (注冊控件)列表中選擇“Microsoft Internet Controls(Version1.1)”,下方的提示欄中顯示出其路徑為C:PWin98SystemSHDOCVW.DLL,在Class Names(類型列表)中列出了可注冊的三個控件: TWebBrowser_V1、TWebBrowser和TShellFolderViewOC,分別為IE3瀏覽器控件、IE4瀏覽器控件和 “Microsoft外殼文件夾查看路由器”控件。單擊Install進行安裝。安裝完成后,在“ActiveX” 控件欄中,將增加三個控件,分別為TWebBrowser_V1、TWebBrowser和TShellFolderViewOC;在 Delphi的Imports目錄下,將創建一個文件SHDocVw_TLB.PAS,其中有這三個控件的包裝細節,當然含控件的屬性和方法說明了,它可以作為我們使用控件的參考資料。

二、 在Delphi程序中使用IE瀏覽器控件

 

----

以TWebBrowser(IE4瀏覽器控件)為例子。TWebBrowser的常見屬性和方法主要有:GoBack:方法,后退到上一個頁面。GoForward:方法,前進到下一個頁面。GoHome:方法,調用默認的主頁頁面,該頁面在IE的選項中設定。GoSearch:方法,調用默認的搜索頁面,該頁面在IE的選項中設定。Navigate(const URL: WideString; var Flags, TargetFrameName, PostData, Headers: OleVariant):方法,調用指定頁面,具體參數如下:URL:指定頁面的URL。Flags:   Word類型,作用還不清楚,可設為0。TargetFrameName:WideString,打開頁面所在的Frame,為空字符串時在當前的Frame中打開;TargetFrameName指定的Frame存在時在Frame中打開;TargetFrameName指定的Frame不存在時則新建一個窗口打開,此時就相當于調用外部的IE瀏覽器了。PostData:boolean,是否允許發送數據。Headers:WideString,要發送的URL請求的頭部數據。Refresh:方法,刷新當前頁面。Stop:方法,停止調用或打開當前頁面。LocationName:屬性(WideString),當前位置的名稱。LocationURL:屬性(WideString),當前位置的URL。Busy: 屬性(Boolean),是否正忙。Visible: 屬性(Boolean),瀏覽器窗口是否可見。(以下屬性為在TWebBrowser新增,TWebBrowser_V1中沒有,其作用有待探索)StatusBar: 屬性(Boolean),是否顯示狀態欄。StatusText: 屬性(WideString),狀態欄內容。ToolBar: 屬性(SYSINT),工具欄中的內容。MenuBar: 屬性(Boolean),是否顯示菜單條。FullScreen: 屬性(Boolean),是否全屏顯示。Offline: 屬性(Boolean),是否脫機瀏覽。AddressBar: 屬性(Boolean),是否顯示地址欄。TWebBrowser的常見事件主要有:OnStatusTextChange = procedure(Sender: TObject; const Text: WideString) of object;

 

---- 在狀態欄提示信息變化時發生,參數Text為當前狀態欄提示信息,我們可以根據該信息來更新我們自己的狀態欄提示信息或處理其它的事務.

---- OnProgressChange = procedure(Sender: TObject; Progress, ProgressMax: Integer) of object;

---- 在打開頁面的進度變化時發生,參數Progress為當前進度,ProgressMax為總進度,我們可以根據這兩個參數來更新我們自己的狀態欄提示信息或處理其它的事務.

---- OnCommandStateChange = procedure(Sender: TObject; Command: Integer; Enable: WordBool) of object;

---- 當執行新的命令時發生,Command為命令標識,Enable為是否允許執行該命令. OnTitleChange = procedure(Sender: TObject; const Text: WideString) of object;

---- 在頁面的標題發生變化時發生,Text為當前標題.

---- OnPropertyChange = procedure(Sender: TObject; const Property_: WideString) of object;

---- 在頁面的屬性發生變化時發生,Property_為屬性名稱 OnDownloadComplete: TNotifyEvent

---- 在下載頁面完成后發生.

---- OnDownloadBegin: TNotifyEvent

---- 在下載頁面開始前發生.

三、 在Delphi程序中應用IE瀏覽器控件的兩個例子

 

---- (1)制作自己的幫助系統

---- 我們利用IE瀏覽器控件為用戶制作了一個幫助系統,幫助文件由多個HTML文件組成,一個主題對應一個 HTML文件(Topic.HTM),每個主題下的項目對應HTML文件中的一個標簽(#Item)。這樣在我們的系統中,就不必再調用IE瀏覽器或WinHelp程序來為用戶提供幫助了。相信大家知道HTML幫助文件與傳統的HLP幫助文件相比的優勢所在吧。

---- 在下面例子中,演示了TWebBrowser(IE4瀏覽器控件)的Navigate方法的使用方法。請注意程序中的注釋。(下面為程序的主要片段)。

{根據主題和項目調用幫助文件}procedure ShowHelp( HelpTopic,HelpItem : String );var   TargetFrameName,PostData,Heads,Flags : OleVariant;   URL : widestring;begin TargetFrameName := ';{指定Frame的空字符串時,則在當前Frame中打開幫助文件} PostData := false;{不發送數據} Heads := ';{Header信息為空} Flags := 0;{Flags設為0} URL := HelpTopic + '.HTM#'+HelpItem;{幫助信息的URL} with formHelp.webbrowser do{在幫助窗口中的IE瀏覽器控件中顯示幫助信息}  begin   navigate(URL,Flags,TargetFrameName,PostData,Heads);{顯示幫助信息}  end;end;

 

---- (2)顯示一個GIF動畫

---- 假如你還沒有一個適合的動畫顯示控件,不妨試用一下下面方法.

procedure ShowGIF( GIFFileName : String );var   TargetFrameName,PostData,Heads,Flags : OleVariant;   URL : widestring;begin TargetFrameName := ';{指定Frame的空字符串時,則在當前Frame中打開動畫文件} PostData := false;{不發送數據} Heads := ';{Header信息為空} Flags := 0;{Flags設為0} URL := GIFFileName; with formGIF.webbrowser do{在指定窗口中的IE瀏覽器控件中顯示動畫}  begin   navigate(URL,Flags,TargetFrameName,PostData,Heads);{顯示動畫文件}  end;end;

 

---- 以上程序在PWIN98+Delphi3.0下調試通過。


上一篇:用DELPHI為ASP開發文件上載組件

下一篇:在DELPHI2.0/3.0中直接操作端口

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩国产高清污视频在线观看| 亚洲色图日韩av| 久久国产视频网站| 成人情趣片在线观看免费| 亚洲精品成人久久电影| 亚洲一区精品电影| www.亚洲男人天堂| 中文字幕不卡在线视频极品| 美日韩丰满少妇在线观看| 亚洲人成在线免费观看| 亚洲成年网站在线观看| 亚洲第一区中文99精品| 精品动漫一区二区三区| 国产在线观看精品一区二区三区| 亚洲一区二区免费| 高清欧美性猛交xxxx| 国产精品中文字幕在线观看| 国产狼人综合免费视频| 欧美黑人一级爽快片淫片高清| 色吧影院999| 日本一区二区三区四区视频| 成人免费黄色网| 国产99久久久欧美黑人| 一区二区三区久久精品| 97视频免费观看| 亚洲三级 欧美三级| 色悠久久久久综合先锋影音下载| y97精品国产97久久久久久| 精品国产一区二区三区久久久| 国产69精品久久久久9| 亚洲国内精品视频| 亚洲国产成人精品一区二区| 亚洲人成在线观看网站高清| 福利精品视频在线| 自拍偷拍亚洲精品| 日韩精品视频观看| 日本伊人精品一区二区三区介绍| 亚洲国产一区自拍| 亚洲专区在线视频| 亚洲美女av网站| 中文字幕在线成人| 精品国产一区二区三区久久久狼| 欧美与黑人午夜性猛交久久久| 国产精品r级在线| 91日本视频在线| 国产精品青草久久久久福利99| 久久久久久久久久久免费精品| 国产一区二区三区三区在线观看| 精品久久久久久电影| 在线精品视频视频中文字幕| 日韩av免费在线| 久久精品91久久久久久再现| 久久久久久久影院| 日本亚洲欧美三级| 亚洲国产日韩欧美在线动漫| 久久精视频免费在线久久完整在线看| 亚洲字幕一区二区| 欧美放荡办公室videos4k| 国产精品第三页| 欧美性生活大片免费观看网址| 欧美视频在线免费看| 久久天天躁日日躁| 国产日韩av在线| 欧美另类极品videosbest最新版本| 庆余年2免费日韩剧观看大牛| 欧日韩在线观看| 欧美亚洲另类视频| 国产成人小视频在线观看| 国产成人精品免费视频| 亚洲午夜精品视频| 久久久综合av| 精品国产鲁一鲁一区二区张丽| 欧美伦理91i| 91夜夜未满十八勿入爽爽影院| 91精品视频免费观看| 国产日韩在线精品av| 亚洲精品动漫久久久久| 成人免费视频在线观看超级碰| 国模精品一区二区三区色天香| 日韩视频在线观看免费| 日韩a**站在线观看| 成人97在线观看视频| 一级做a爰片久久毛片美女图片| 欧美在线视频导航| 久久久久久999| 亚洲成av人乱码色午夜| 亚洲裸体xxxx| 久久免费视频这里只有精品| www.久久久久久.com| 91精品视频在线播放| 亚洲人成五月天| 亚洲精品影视在线观看| 中文字幕日韩在线观看| 亚洲一区二区三区视频播放| 国产精品va在线播放| 精品香蕉一区二区三区| 国产精品免费久久久久久| 国产精品劲爆视频| 国产精品久久久久久久久影视| 日韩在线观看免费高清| 日本精品中文字幕| 成人午夜激情免费视频| 久精品免费视频| 欧美日韩一区二区免费在线观看| 精品国模在线视频| 国产精品99久久久久久www| 日韩免费在线电影| 欧美国产欧美亚洲国产日韩mv天天看完整| 亚洲国产天堂网精品网站| 国产成人精品综合| 欧美日韩美女在线观看| 有码中文亚洲精品| 欧美成在线观看| 亚洲深夜福利视频| 日韩在线视频免费观看高清中文| 国产精品久久视频| 欧美丰满少妇xxxx| 国产一区二区精品丝袜| 亚洲无亚洲人成网站77777| 亚洲网站在线观看| 欧美视频免费在线观看| 久久久国产精品视频| 亚洲第一男人天堂| 国产精品欧美久久久| 日本精品va在线观看| 激情亚洲一区二区三区四区| 久久综合色88| 91高潮精品免费porn| 欧美人与物videos| 深夜福利亚洲导航| 精品国产乱码久久久久久婷婷| 久久综合久久八八| 日韩在线资源网| 日韩精品免费一线在线观看| 欧美日韩精品国产| 国产精品自产拍在线观看中文| 夜色77av精品影院| 亚洲一区中文字幕在线观看| 亚洲第一网中文字幕| 久久夜色精品国产| 日本成熟性欧美| 欧美在线视频免费| 亚洲欧美国产一区二区三区| 搡老女人一区二区三区视频tv| 性夜试看影院91社区| 色www亚洲国产张柏芝| 久久精品视频在线播放| 亚洲一区二区免费在线| 亚洲精品一区中文字幕乱码| 一本色道久久88综合日韩精品| 国产在线观看一区二区三区| 精品亚洲国产视频| 久久免费视频在线观看| 正在播放亚洲1区| 中文字幕亚洲欧美日韩2019| 欧洲美女免费图片一区| 91在线播放国产| 亚洲国产天堂久久国产91| 国产91精品视频在线观看| 午夜精品久久久久久久久久久久久| 黑人巨大精品欧美一区二区一视频| 亚洲天堂第二页| 亚州成人av在线| 国产欧美日韩专区发布|