Webbrowers

WebBrowers控制項的使用和事例以及部分中文說明,拋磚引玉!

WebBrowers控制項的使用和事例以及部分中文說明,拋磚引玉!
參數說明
WebBrowser.LocationURL 文本型 當前打開頁面的地址
WebBrowser.LocationName 文本型 當前打開頁面的名稱 (就是網頁title裡面的那個)
WebBrowser.GoHome () 轉到默認主頁
WebBrowser.GoBack () 後退
WebBrowser.GoForward () 前進
WebBrowser.Stop () 停止
WebBrowser.Refresh () 刷新
WebBrowser1.Navigate (, , , , ) 訪問網頁
參數1是 URL 文本型 就是網頁地址
參數2是整數型 我選0 選1或者其他會激活IE視窗打開網頁 具體什麼用處不是很清楚
參數34我留空 不懂什麼用處
裡面最重要的命令應該是WebBrowser.ExecWB (, , , )
第一個參數是CMDID 我的一篇文章裡面轉了MSDN裡面的說明 整數型參數
4 另外儲存為 就是說 命令WebBrowser1.ExecWB (4, 1, , ) 就是網頁另外儲存為的命令 下面相同
6 不提示直接列印 使用默認印表機
8 頁面設定
22 刷新
25 關閉
參數2不知道什麼用處 網上基本都說用1 後面兩個就更不清楚了 省略可以
下面這是在MSDN上編查到的 很多不清楚怎么用 希望懂得朋友給指點下
同時控制項還有四個事件
WebBrowser_V1事件
InternetExplorer事件
ShellNameSpace事件
我只是用到了一個
.
版本 2
.支持庫 shdocvw
.子程式 _WebBrowser1_TitleChange
.參數 Text, 文本型
_啟動視窗.標題 = WebBrowser1.LocationName
組合框1.內容 = WebBrowser1.LocationURL
我猜想是當Title改變時激活的 雖然不一定對 不過在程式裡面還看不出什麼大問題
還有一個WebBrowser_V1的事件處理是NewWindows 在一個C++的論壇上看到是用來實現象遨遊或者MYIE那樣在一個程式內打開多個視窗的.不會用 知識有點斷層
希望高手出來指點指點 共同進步 同時我也會尋找更多方法 更新分享給大家
OLECMDID_OPEN = 1,
OLECMDID_NEW = 2,
OLECMDID_SAVE = 3,
OLECMDID_SAVEAS = 4,
OLECMDID_SAVECOPYAS = 5,
OLECMDID_PRINT = 6,
OLECMDID_PRINTPREVIEW = 7,
OLECMDID_PAGESETUP = 8,
OLECMDID_SPELL = 9,
OLECMDID_PROPERTIES = 10,
OLECMDID_CUT = 11,
OLECMDID_COPY = 12,
OLECMDID_PASTE = 13,
OLECMDID_PASTESPECIAL = 14,
OLECMDID_UNDO = 15,
OLECMDID_REDO = 16,
OLECMDID_SELECTALL = 17,
OLECMDID_CLEARSELECTION = 18,
OLECMDID_ZOOM = 19,
OLECMDID_GETZOOMRANGE = 20,
OLECMDID_UPDATECOMMANDS = 21,
OLECMDID_REFRESH = 22,
OLECMDID_STOP = 23,
OLECMDID_HIDETOOLBARS = 24,
OLECMDID_SETPROGRESSMAX = 25,
OLECMDID_SETPROGRESSPOS = 26,
OLECMDID_SETPROGRESSTEXT = 27,
OLECMDID_SETTITLE = 28,
OLECMDID_SETDOWNLOADSTATE = 29,
OLECMDID_STOPDOWNLOAD = 30,
OLECMDID_ONTOOLBARACTIVATED = 31,
OLECMDID_FIND = 32,
OLECMDID_DELETE = 33,
OLECMDID_HTTPEQUIV = 34,
OLECMDID_HTTPEQUIV_DONE = 35,
OLECMDID_ENABLE_INTERACTION = 36,
OLECMDID_ONUNLOAD = 37,
OLECMDID_PROPERTYBAG2 = 38,
OLECMDID_PREREFRESH = 39,
OLECMDID_SHOWSCRIPTERROR = 40,
OLECMDID_SHOWMESSAGE = 41,
OLECMDID_SHOWFIND = 42,
OLECMDID_SHOWPAGESETUP = 43,
OLECMDID_SHOWPRINT = 44,
OLECMDID_CLOSE = 45,
OLECMDID_ALLOWUILESSSAVEAS = 46,
OLECMDID_DONTDOWNLOADCSS = 47,
OLECMDID_UPDATEPAGESTATUS = 48,
OLECMDID_PRINT2 = 49,
OLECMDID_PRINTPREVIEW2 = 50,
OLECMDID_SETPRINTTEMPLATE = 51,
OLECMDID_GETPRINTTEMPLATE = 52,
OLECMDID_PAGEACTIONBLOCKED = 55,
OLECMDID_PAGEACTIONUIQUERY = 56,
OLECMDID_FOCUSVIEWCONTROLS = 57,
OLECMDID_FOCUSVIEWCONTROLSQUERY = 58
OLECMDID_SHOWPAGEACTIONMENU = 59
..
以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
在下載頁面開始前發生.

相關詞條

熱門詞條

聯絡我們