admin 发表于 2011-8-17 16:00:01

WebBrowser的8个方法、13个属性和事件

方法 说明 ===========================================
 GoBack 相当于IE的“后退”按钮,使你在当前历史列表中后退一项
 GoForward 相当于IE的“前进”按钮,使你在当前历史列表中前进一项
 GoHome 相当于IE的“主页”按钮,连接用户默认的主页
 GoSearch 相当于IE的“搜索”按钮,连接用户默认的搜索页面
 Navigate 连接到指定的URL
 Refresh 刷新当前页面
 Refresh2 同上,只是可以指定刷新级别,所指定的刷新级别的值来自RefreshConstants枚举表,
该表定义在ExDisp.h中,可以指定的不同值如下:
REFRESH_NORMAL 执行简单的刷新,不将HTTP pragma: no-cache头发送给服务器
REFRESH_IFEXPIRED 只有在网页过期后才进行简单的刷新
REFRESH_CONTINUE 仅作内部使用。在MSDN里写着DO NOT USE! 请勿使用
REFRESH_COMPLETELY 将包含pragma: no-cache头的请求发送到服务器
 Stop 相当于IE的“停止”按钮,停止当前页面及其内容的载入
属性 说明 ===========================================================
 Application 如果该对象有效,则返回掌管WebBrowser控件的应用程序实现的自动化对象(IDispatch)。如果在宿主对象中自动化对象无效,这个程序将返回WebBrowser
控件的自动化对象
 Parent 返回WebBrowser控件的父自动化对象,通常是一个容器,例如是宿主或IE窗口
 Container 返回WebBrowser控件容器的自动化对象。通常该值与Parent属性返回的值相同
 Document 为活动的文档返回自动化对象。如果HTML当前正被显示在WebBrowser中,则
Document属性提供对DHTML Object Model的访问途径
 TopLevelContainer 返回一个Boolean值,表明IE是否是WebBrowser控件顶层容器,是就返回true
 Type 返回已被WebBrowser控件加载的对象的类型。例如:如果加载.doc文件,就会返
回Microsoft Word Document
 Left 返回或设置WebBrowser控件窗口的内部左边与容器窗口左边的距离
 Top 返回或设置WebBrowser控件窗口的内部左边与容器窗口顶边的距离
 Width 返回或设置WebBrowser窗口的宽度,以像素为单位
 Height 返回或设置WebBrowser窗口的高度,以像素为单位
 LocationName 返回一个字符串,该字符串包含着WebBrowser当前显示的资源的名称,如果资源
是网页就是网页的标题;如果是文件或文件夹,就是文件或文件夹的名称
 LocationURL 返回WebBrowser当前正在显示的资源的URL
 Busy 返回一个Boolean值,说明WebBrowser当前是否正在加载URL,如果返回true
就可以使用stop方法来撤销正在执行的访问操作
事件===========================================
BeforeNavigate2 导航发生前激发,刷新时不激发
CommandStateChange 当命令的激活状态改变时激发。它表明何时激活或关闭Back和Forward
菜单项或按钮
DocumentComplete 当整个文档完成是激发,刷新页面不激发
DownloadBegin 当某项下载操作已经开始后激发,刷新也可激发此事件
DownloadComplete 当某项下载操作已经完成后激发,刷新也可激发此事件
NavigateComplete2 导航完成后激发,刷新时不激发
NewWindow2 在创建新窗口以前激发
OnFullScreen 当FullScreen属性改变时激发。该事件采用VARIENT_BOOL的一个输
入参数来指示IE是全屏显示方式(VARIENT_TRUE)还是普通显示方式(VARIENT_FALSE)
OnMenuBar 改变MenuBar的属性时激发,标示参数是VARIENT_BOOL类型的。
VARIANT_TRUE是可见,VARIANT_ FALSE是隐藏
OnQuit 无论是用户关闭浏览器还是开发者调用Quit方法,当IE退出时就会激发
OnStatusBar 与OnMenuBar调用方法相同,标示状态栏是否可见。
OnToolBar 调用方法同上,标示工具栏是否可见。
OnVisible 控制窗口的可见或隐藏,也使用一个VARIENT_BOOL类型的参数
StatusTextChange 如果要改变状态栏中的文字,这个事件就会被激发,但它并不理会程序是否有状态栏
TitleChange Title有效或改变时激发


重大或有趣的对象属性:
WebBrowser.OleObject.Document
WebBrowser.OleObject.Document.All
WebBrowser.OleObject.Document.bgColor
WebBrowser.OleObject.Document.Body.Style.overflowX
WebBrowser.OleObject.Document.Body.Style.overflowY
WebBrowser.OleObject.Document.Body.Style.zoom
WebBrowser.OleObject.Document.cookie
WebBrowser.OleObject.Document.documentElement.innerHTML
WebBrowser.OleObject.Document.documentElement.innerText
WebBrowser.OleObject.Document.FileSize
WebBrowser.OleObject.Document.Frames
WebBrowser.OleObject.Document.Images
WebBrowser.OleObject.Document.LastModified
WebBrowser.OleObject.Document.Links
WebBrowser.OleObject.Document.Location.Protocol
WebBrowser.OleObject.Document.ParentWindow
WebBrowser.OleObject.Document.ParentWindow.ScrollBy (九:整数; iY :整数)
WebBrowser.OleObject.Document.selection
WebBrowser.OleObject.Document.Title
WebBrowser.OleObject.Document.URL
-------------------------------------------------- ------------------------------
WebBrowser.OleObject.Document
提供有关文件显示。详情见http://msdn.microsoft.com/workshop/a...j_document.asp 。
文件相当于:
WebBrowser.Document作为IHTMLDocument2
注:
如果没有文件已加载然后( WebBrowser.Document作为IHTMLDocument2 )将为零。为了避免运行时例外检查的价值,才能使用它,例如:
变种
文件: IHTMLDocument2 ;
开始
文件: = WebBrowser.Document作为IHTMLDocument2 ;
如果转让(文件) ,然后


简洁,并不是所有的例子包括:本网页上的这一错误检查。
-------------------------------------------------- ------------------------------
WebBrowser.OleObject.Document.All
阵列的所有项目/物体在文件中。这包括图片,链接,文字等
。长度返回一些内容数组。
。项目( 0 )传回的第一份文件内容。
。项目( n )段。 InnerText读/写之间的文字开始和结束标记的项目。
。项目( n )段。 ScrollIntoView ( bAlignToTop :布尔)卷轴项目'东经'到的观点。 bAlignToTop =真正保持一致的窗口顶部的。 bAlignToTop =假以配合窗口底部的。
文件相当于:
变种
文件: IHTMLDocument2 ;
docAll : IHTMLElementCollection ;
开始
文件: = WebBrowser.Document作为IHTMLDocument2 ;
如果转让(文件)
docAll : = document.all ;
-------------------------------------------------- ------------------------------
WebBrowser.OleObject.Document.bgColor
设置或检索背景颜色的文件。例如,设置背景颜色为白色:
WebBrowse.OleObject.Document.bgColor : = ' # FFFFFF ' ;
或将其设置为黑色:
WebBrowse.OleObject.Document.bgColor : = ' # 000000 ' ;
-------------------------------------------------- ------------------------------
WebBrowser.OleObject.Document.Body.Style.overflowX
读/写字符串值,指明是否水平滚动条显示。价值观是:
可见默认。没有滚动条。显示被截断,以明显的地区。
滚动滚动条始终可见-无论需要与否。
隐藏没有滚动条。内容以外的可见光区是隐藏的。
汽车的内容被截断和滚动条显示如果需要的话。

-------------------------------------------------- ------------------------------
WebBrowser.OleObject.Document.Body.Style.overflowY
至于WebBrowser.OleObject.Document.Body.Style.overflowX但垂直滚动条。

-------------------------------------------------- ------------------------------
WebBrowser.OleObject.Document.Body.Style.zoom
设置或检索放大使用。默认值是1 ,没有放大。要显示在正常大小的一半使用0.5 。为了显示其在正常大小的两倍使用2 。

-------------------------------------------------- ------------------------------
WebBrowser.OleObject.Document.cookie
返回一个字符串的所有浏览器的Cookies举行-这是本地存储的Cookie ,而不是服务器端的cookie 。
文件相当于:
变种
文件: IHTMLDocument2 ;
饼干:字符串;
开始
文件: = WebBrowser.Document作为IHTMLDocument2 ;
如果转让(文件) ,然后
饼干: = document.cookie ;
Cookies是代表字符串的形式:
名称=值
注:
如果有多个名称/值配对然后这些都是分开分号(';').
某些字符可能是'逃跑' -这是由一个百分比符号之后,两个位数的十六进制数的ASCII码代表的性质。名单的ASCII码请点击这里。
-------------------------------------------------- ------------------------------
WebBrowser.OleObject.Document.documentElement.innerHTML
对于HTML文件,返回文件包括HTML格式。

-------------------------------------------------- ------------------------------
WebBrowser.OleObject.Document.documentElement.innerText
返回文本文件的内容-在没有任何( HTML )的格式。

-------------------------------------------------- ------------------------------
WebBrowser.OleObject.Document.FileSize
回报率的大小, HTML文件中的字节。
文件相当于:
( WebBrowser.Document作为IHTMLDocument2 ) 。档案大小
请注意,该文件相当于返回文件大小作为一个字符串,它会抛出一个异常如果没有页面加载。

-------------------------------------------------- ------------------------------
WebBrowser.OleObject.Document.Frames
阵列框架的文件中。
。长度返回若干帧的文件中。
。项目( 0 )传回的第一帧。
。项目( 0 ) 。文件返回文档对象代表帧。
。项目( 0 ) 。 Document.URL返回的URL的第一帧。
文件相当于:
( WebBrowser.Document作为IHTMLDocument2 ) 。框架
例如,要获取有关帧作为( 1 IHTMLWindow2或IHTMLDocument2 ) :
变种
文件: IHTMLDocument2 ;
ole_index : OleVariant ;
doc_all : IHTMLElementCollection ;
frame_dispatch : IDispatch ;
frame_win : IHTMLWindow2 ;
frame_doc : IHTMLDocument2 ;
开始
文件: = WebBrowser.Document作为IHTMLDocument2 ;
ole_index : = 0 ;
frame_dispatch : = document.Frames.Item ( ole_index ) ;
如果frame_dispatch “ ”零然后
开始
frame_win : = frame_dispatch作为IHTMLWindow2 ;
frame_doc : = frame_win.document ;


-------------------------------------------------- ------------------------------
WebBrowser.OleObject.Document.Images
阵列的图像载于本文件。
。长度传回的图像文件中。
。项目( 0 )传回的图片。
。项目( 0 ) 。 Src的读取或写入的路径,第一形象。

-------------------------------------------------- ------------------------------
WebBrowser.OleObject.Document.LastModified
退货时,文件的最后修改,作为一个字符串。正式的格式是“月/日/年时时:分分:党卫军” ,但在我的经验,通常是“月/日/年时时:分分:党卫军” 。
文件相当于:
变种
htmlDoc : IHTMLDocument2 ;
dateString :字符串;
开始
htmlDoc : = WebBrowser.Document作为IHTMLDocument2 ;
如果转让( htmlDoc )
dateString : = html_doc.LastModified ;
-------------------------------------------------- ------------------------------
WebBrowser.OleObject.Document.Links
阵列的各个环节(即“的<a href...> ”分子) 。
。长度返回的连结数目。
。项目( 0 )传回的第一个链接。
。项目( 0 ) 。 href返回地址的第一个链接。
。项目( 0 ) 。标记名的名称,返回类型的第一个环节。的链接,这是永远的A 。
文件相当于:
变种
htmlDoc : IHTMLDocument2 ;
allLinks : IHTMLElementCollection ;
firstLink : IHTMLElement ;
网址:字符串;
开始
htmlDoc : = WebBrowser.Document作为IHTMLDocument2 ;
allLinks : = htmlDoc.Links ;
firstLink : = allLinks.Item ( 0 , '' )作为IHTMLElement ;
网址: = firstLink.toString ;
-------------------------------------------------- ------------------------------
WebBrowser.OleObject.Document.Location.Protocol
返回一个字符串代表'协议'部分网址。这将(通常)是:
议定书价值意蕴
文件:本地或网络文件。
ftp:FTP 。
的Gopher : Gopher网络会议。
http:Hypertext传输协议
网址为: https :安全超文本传输协议。
的JavaScript : JavaScript代码。
地址:客户发送电子邮件。
新闻:新闻组。
水库:资源文件。
的Telnet :远程登录终端登录。

-------------------------------------------------- ------------------------------
WebBrowser.OleObject.Document.ParentWindow
返回(只读)提到集装箱窗口。

-------------------------------------------------- ------------------------------
WebBrowser.OleObject.Document.ParentWindow.ScrollBy (九:整数; iY :整数)
横向卷轴的窗口'的iX '像素-负值春联左边,一个积极的价值春联权利。垂直滚动窗口的' iY '像素-负值春联和一个积极的价值卷轴下来。
文件相当于:
变种
文件: IHTMLDocument2 ;
开始
文件: = webBrowser.Document作为IHTMLDocument2 ;
如果转让(文件) ,然后
document.parentWindow.scrollBy (九, iY ) ;
注:
该窗口不会滚动向上/向下,如果它已经达到了正常的顶部/底部限制。同样不会滚动左/右如果它已经达到了正常的左/右限制。因此,例如,当一个文件是第一次尝试加载滚动它-1 , -1不会有任何影响。
这将影响到框架文件,因为通常的顶层文件将不会滚动,即使将它包含帧。下面的过程说明了如何滚动每一份文件和框架,包括嵌入式框架:
程序ScrollBrowserWindowBy (常量窗口: IHTMLWindow2 ;九:整数; iY :整数) ;
变种
指数:整数;
oleIndex : OleVariant ;
frameDispatch : IDispatch ;
childWindow : IHTMLWindow2 ;
文件: IHTMLDocument2 ;
开始
如果转让(窗口) ,然后
尝试
window.scrollBy (九, iY ) ;
/ /如果有任何帧然后尝试滚动它们。
文件: = window.Document作为IHTMLDocument2 ;
如果转让(文件) ,然后
指数: = 1 document.Frames.Length做
开始
oleIndex : =指数- 1 ;
frameDispatch : = document.Frames.Item ( oleIndex ) ;
如果转让( frameDispatch ) ,然后
开始
childWindow : = frameDispatch作为IHTMLWindow2 ;
ScrollBrowserWindowBy ( childWindow ,九, iY ) ;
结束;
结束;

电子商务:异常年底开始做;
结束;
结束;
并调用它:
变种
文件: IHTMLDocument2 ;
开始
文件: = webBrowser.Document作为IHTMLDocument2 ;
如果转让(文件) ,然后
ScrollBrowserWindowBy ( document.parentWindow , 5,10 ) ;
如果您尝试呼叫' scrollBy '的窗框载场外页面就会抛出一个“拒绝访问”的例外,因此“尝试..除了”在上面的例子。
-------------------------------------------------- ------------------------------
WebBrowser.OleObject.Document.selection
提供对当前选定的部分文件。
例如,如果要获得当前选定的文字:
变种
文件: IHTMLDocument2 ;
selectionObj : IHTMLSelectionObject ;
selectionRange : IHtmlTxtRange ;
selectedText :字符串;
开始
文件: = WebBrowser.Document作为IHTMLDocument2 ;
selectionObj : = document.selection ;
selectionRange : = selectionObj.CreateRange作为IHtmlTxtRange ;
selectedText : = selectionRange.text ;


注:上面的例子将需要修改的文件略微带有框架。

-------------------------------------------------- ------------------------------
WebBrowser.OleObject.Document.Title
的标题当前文档。这是一样的财产LocationName 。

-------------------------------------------------- ------------------------------
WebBrowser.OleObject.Document.URL
网址目前的文件。这是一样的财产LocationURL 。

admin 发表于 2011-8-17 16:03:43

WebBrowser属性
1、AddressBar(是否显示地址栏。)
property AddressBar: WordBool;
2、Busy(是否正在导航到一个新的URL地址或正在下载文档。)
property Busy: WordBool;
如果该属性值为True,则在开始一个新的操作前,可用Stop方法中止当前操作,然后再导航到其他的页面,代码如下:
If WebBrowser1.Busy Then Begin
WebBrowser1.Stop;
WebBrowser1.Navigate('http://www.quping.com');
End;
3、Container(访问Web浏览器父类或容器的接口。)
property Container: IDispatch;
如果Web浏览器没有一个具有Automation接口的容器,则该属性的值为空。否则可以通过返回的接口,访问Web浏览器父类或容器,代码如下:
If (WebBrowser1.Container<>Nil) Then WebBrowser1.Stop
Else ShowMessage('Web浏览器没有一个具有Automation接口的容器');
4、ControlInterface(访问WebBrowser组件接口,这个接口允许一个Automation控制器访问Web浏览器的属性、方法和事件。)
property ControlInterface: IWebBrowser2;
显示WebBrowser1组件的名称,代码如下:
Showmessage(WebBrowser1.ControlInterface.Name);
5、FullName(指定主机上Web浏览器组件的可执行文件的完整的合法路径名。)
property FullName: WideString;
显示Web浏览器组件所在的可执行文件的名称,并且包含路径,代码如下:
ShowMessage('Web组件所在的可执行文件为:'+WebBrowser1.FullName);
6、LocationName(获得当前在Web浏览器组件中显示的资源名。)
property LocationName: WideString;
显示网页标题的名称,代码如下:
ShowMessage('网页标题名:'+WebBrowser1.LocationName);
7、LocationURL(确定当前显示文档、文件夹的URL或路径。)
property LocationURL: WideString;
显示地址的完整路径,代码如下:
ShowMessage('Web浏览器组件连接的URL为:'+WebBrowser1.LocationURL);
8、Name(指定计算机上的TWebBrowser的名称。)
property Name: WideString;
9、Offline(指定Web浏览器是否从本地缓存中获取文档。该属性为True时,表示Web浏览器以脱机方式工作,否则为在线方式。)
property Offline: WordBool;
注意:可以使用IE浏览器保存HTML网页到本地缓存,浏览器可以脱机方式工作。
10、Path(指定主机上Web浏览器组件可执行文件的路径名,不包括文件名。)
property Path: WideString;
Str:= WebBrowser1.Path;
11、ReadyState(获得指定Web浏览器组件的状态信息,使用这个信息可避免Web浏览器执行未准备的操作。)
property ReadyState: TOleEnum;
12、RegisterAsBrowser(设置该属性为True时,当前使用的Web浏览器组件成为最高级别浏览器。)
property RegisterAsBrowser: WordBool;
13、RegisterAsDropTarget(指出是否允许用户拖放HTML文档到当前Web浏览器。)
property RegisterAsDropTarget: WordBool;
该属性为True时,允许用户拖放HTML文档到当前Web浏览器;否则拖放操作无效,代码如下:
If Not WebBrowser1.RegisterAsDropTarget Then WebBrowser1.RegisterAsDropTarget:=True;
14、Silent(指定TWebBrowser是否显示对话框。该属性为True时,该对话框不再显示脚本错误。)
property Silent: WordBool;
15、Type_(指定包含的文档对象的类型名称,读取该属性以确定Automation对象的类型,该对象的接口通过Document属性表示。)
property Type_: WideString;
显示文件的类型,代码如下:
ShowMessage('Automation对象的类型为:'+WebBrowser1.Type_);
WebBrowser方法
1、ClientToWindow(IE使用该方法转换客户坐标与窗口坐标,一般不要使用该方法。)
procedure ClientToWindow(var pcx: SYSINT; var pcy: SYSINT);
pcx:坐标点X。
pcy:坐标点Y。
2、ExecWB(允许用户用IOleCommandTarget接口传递一个命令到当前Web浏览器组件。Microsoft定义了一些常量来表示这些命令,但是Web浏览器不全部支持这些命令,可用QueryStatusWB方法使用这些命令。)
procedure ExecWB(cmdID: OLECMDID; cmdexecopt: OLECMDEXECOPT); overload;
procedure ExecWB(cmdID: OLECMDID; cmdexecopt: OLECMDEXECOPT; var pvaIn: OleVariant); overload;
procedure ExecWB(cmdID: OLECMDID; cmdexecopt: OLECMDEXECOPT; var pvaIn: OleVariant; var pvaOut: OleVariant); overload;
调用ExecWB方法能够完成许多功能,例如停止网页浏览,代码如下:
WebBrowser1.ExecWB(OLECMDID_STOP,OLECMDEXECOPT_PROMPTUSER);
3、GoBack(返回到历史列表中的上一个文档。如果历史列表中没有包含另外的文档,该方法将无效。)
procedure GoBack;
返回当前页的上一页,代码如下:
WebBrowser1.GoBack();
4、GoForward(返回到历史列表中的下一个文档,与最后调用GoBack方法的效果相反。)
procedure GoForward;
返回当前页的下一页,但是如果历史列表中没有下一个文档,则产生异常,代码如下:
Try
   WebBrowser1.GoForward();
Except
   Exit;
End;
5、GoHome(返回已注册主页或开始页,在注册表中指定主页的注册项为:HKEY_CURRENT_USER\Software\Microsoft\IE\Main下的SStartpage名称栏。可用TRegistry、TRegistryIniFile对象或IE浏览器“工具”中的Internet选项改变注册主页。)
procedure GoHome;
返回主页,代码如下:
If WebBrowser1.Busy Then WebBrowser1.Stop Else WebBrowser1.GoHome;
6、GoSearch(打开已注册的搜索网页,在注册表中指定搜索网页的注册项为:HKEY_CURRENT_USER\Software\Microsoft\IE\Main下的SearchPage名称栏。可用TRegistry、TRegistryIniFile对象或IE浏览器中“工具”中的Internet选项改变注册搜索网页。)
procedure GoSearch;
打开已注册的搜索网页,代码如下:
If WebBrowser1.Busy Then WebBrowser1.Stop Else WebBrowser1.GoSearch();
7、Navigate(定位或下载指定的资源,发送HTTP消息到指定的URL并显示指定文件的内容,也可用来显示指定的文件。)
procedure Navigate(const URL: WideString); overload;
procedure Navigate(const URL: WideString; var Flags: OleVariant); overload;
procedure Navigate(const URL: WideString; var Flags: OleVariant;var TargetFrameName: OleVariant); overload;
procedure Navigate(const URL: WideString; var Flags: OleVariant; var TargetFrameName: OleVariant; var PostData: OleVariant); overload;
procedure Navigate(const URL: WideString; var Flags: OleVariant; var TargetFrameName: OleVariant; var PostData: OleVariant; var Headers: OleVariant); overload;
Navigate方法是TWebBrowser组件中最重要的方法之一,使用该方法能够将当前TWebBrowser组件导航到任何存在的链接上,代码如下:
If WebBrowser1.Busy Then WebBrowser1.Stop Else WebBrowser1.Navigate('http://www.quping.com');
8、Navigate2(定位或下载指定的资源,发送HTTP消息到指定的URL并显示指定文件的内容,或导航到不能表达为URL的资源。)
procedure Navigate2(var URL: OleVariant); overload;
procedure Navigate2(var URL: OleVariant; var Flags: OleVariant); overload;
procedure Navigate2(var URL: OleVariant; var Flags: OleVariant; var TargetFrameName: OleVariant); Overload;
procedure Navigate2(var URL: OleVariant; var Flags: OleVariant; var TargetFrameName: OleVariant; var PostData: OleVariant); overload;
procedure Navigate2(var URL: OleVariant; var Flags: OleVariant; var TargetFrameName: OleVariant; var PostData: OleVariant; var Headers: OleVariant); overload;
Navigate2方法与Navegate方法类似,能够将当前TWebBrowser组件导航到指定的资源,代码如下:
procedure TForm1.GoUrl2(URL: String); //URL为指定的资源的网址
var
   oUrl:Olevariant;
   oPost,oFram,oflag:Olevariant;
begin
   oUrl:=Url;
   oFram:=0;
   oFlag:=navOpenInNewWindow; //在新窗口中打开资源
   oPost:='';
   If WebBrowser1.Busy Then WebBrowser1.Stop;
   WebBrowser1.Navigate2(oUrl,oFlag,oFram,oPost);
end;
9、QueryStatusWB(确定可以使用ExecWB方法执行的命令,即Web浏览器支持的命令信息,该方法使用IOleCommandTarget接口的QueryStatus方法来得到命令状态的信息。)
function QueryStatusWB(cmdID: OLECMDID): OLECMDF;
cmdID:指定要获取其信息的命令。
10、Refresh(重新载入当前文档。Web浏览器正在显示的URL指定的资源可能已经发生变化时,这个方法非常有用。该方法总是发送一个参数,即非缓存标题,通知服务器不要返回缓存的复制,这对于某些服务器可能是一个问题。为阻止发送这个非缓存标题参数或只是刷新过期的网页,可用Refresh2方法。)
procedure Refresh;
该方法完成了IE浏览器的刷新功能,可以使用该方法来重新载入当前页面,如果当前TWebBrowser组件没有载入任何的网页,则会产生异常,代码如下:
If (WebBrowser1.LocationURL<>'') Then WebBrowser1.Refresh;
11、Refresh2(调用Refresh2方法重新装入当前文档,与Refresh方法不同的是,该方法可指定要完成的刷新级别。)
procedure Refresh2; overload;
procedure Refresh2(var Level: OleVariant); overload;
Level:指定要被刷新信息的类型,其取值如表7所示。
Refresh2方法提供了更加复杂的刷新方式,提供了多种刷新方法,通过该方法同样能够实现Refresh方法完成的任务,代码如下:
procedure TForm1.ToolButton7Click(Sender: TObject);
var
   Level:Olevariant;
begin
   Level:=REFRESH_IFEXPIRED;
   If (WebBrowser1.LocationURL<>'') Then WebBrowser1.Refresh2(Level);
end;
12、Stop(终止任何未完成的导航或下载操作,并终止任何动态的网页元素,如背景音乐和动画等。)
procedure Stop;
该方法实现了IE中的停止功能,即停止了一切载入工作,代码如下:
WebBrowser1.Stop;
WebBrowser事件
1、OnBeforeNavigate2(Web浏览器导航到一个新的资源前被触发。)
property OnBeforeNavigate2: TWebBrowserBeforeNavigate2;
type TWebBrowserBeforeNavigate2 = procedure(Sender: TObject; const pDisp: IDispatch; var URL: OleVariant; var Flags: OleVariant; var TargetFrameName: OleVariant; var PostData: OleVariant; var Headers: OleVariant; var Cancel: WordBool) of object;
2、OnCommandStateChange(当执行TWebBrowser组件的某个方法的功能改变时被触发,其状态取值决定于执行Web浏览器中某个方法的功能。)
property OnCommandStateChange: TWebBrowserCommandStateChange;
type TWebBrowserCommandStateChange = procedure(Sender: TObject; Command: Integer; Enable: WordBool) of object;
Sender:指出其功能已变化的Web浏览器组件。
Enable:指定CSC_NAVIGATEFORWARD或CSC_NAVIGATEBACK命令是否可用,其值为True时,可用;否则不可用。
OnCommandStateChange事件提供了一个命令状态改变后的处理功能,通过该事件能够判断执行某个命令后的当前浏览器状态,例如控制“后退”、“前进”或“停止”按钮是否可用,代码如下:
procedure TForm1.WebBrowser1CommandStateChange(Sender: TObject;
   Command: Integer; Enable: WordBool);
begin
   case Command of
     CSC_NAVIGATEBACK: ToolButton5.Enabled := Enable; //“后退”按钮
     CSC_NAVIGATEFORWARD: ToolButton4.Enabled := Enable; //“前进”按钮
     CSC_UPDATECOMMANDS: ToolButton2.Enabled := TWebBrowser(Sender).Busy; //“停止”按钮
   end;
end;
3、OnDownloadBegin(Web浏览器开始下载一个文档时被触发,编写其事件处理程序可以指定Web浏览器定位到一个文档后下载该文档前应采取的操作。)
property OnDownloadBegin: TNotifyEvent;
type TNotifyEvent = procedure (Sender: TObject) of object;
4、OnDownloadComplete(导航操作完成、暂停或操作失败时被触发,编写其事件处理程序可以指定应采取的操作。)
property OnDownloadComplete: TNotifyEvent;
type TNotifyEvent = procedure (Sender: TObject) of object;
5、OnNavigateComplete2(当Web浏览器成功地导航到一个新的位置时被触发,编写其事件处理程序可以指定应执行的操作。这个事件可能产生在当前文档下载完成前,但是事件结束时,至少已经接收到部分文档并产生了文档视图。)
property OnNavigateComplete2: TWebBrowserNavigateComplete2;
type TWebBrowserNavigateComplete2 = procedure(Sender: TObject; const pDisp: IDispatch; var URL: OleVariant) of object;
Sender:导航到新的资源的Web浏览器。
pDisp:浏览器的Automation接口。
当TWebBrowser组件成功地导航到一个新的位置后触发该事件,利用该事件能够获得当前状态或URL地址,代码如下:
If WebBrowser1.Offline Then
   Statusbar1.Panels.Text:='脱机'
Else
   Statusbar1.Panels.Text:='在线';
ComboBox1.Text:=WebBrowser1.LocationURL;
6、OnProgressChange(当更新下载操作的进度时被触发,编写其事件处理程序可以提供一个关于下载进度的可视化的反馈。)
property OnProgressChange: TWebBrowserProgressChange;
type TWebBrowserProgressChange = procedure(Sender: TObject; Progress: Integer; ProgressMax: Integer) of object;
Sender:正在下载文档处理进程中的Web浏览器。
Progress:指出有多少文档已经下载,取值范围在0~ProgressMax之间。当其参数为-1时,操作结束。
PropressMax:指示下载操作的最大值。
利用该事件能够设计一个准确的网页载入进度条,该进度条表示了当前网页的载入进度,代码如下:
procedure TForm1.WebBrowser1ProgressChange(Sender: TObject; Progress,ProgressMax: Integer);
begin
   ProgressBar1.Max:=ProgressMax;
   if Progress = -1 then
     ProgressBar1.Visible:=false
   else
   begin
     ProgressBar1.Position := Progress;
     ProgressBar1.Visible := True;
   end;
   if   ProgressBar1.Position = ProgressMax then
     ProgressBar1.Visible:=False;
end;

admin 发表于 2011-8-17 16:05:06

http://msdn.microsoft.com/zh-cn/library/microsoft.office.tools.excel.controls.webbrowser_properties.aspx

语言教授 发表于 2011-10-7 21:23:11

这么强,支持楼主,佩服











static/image/common/sigline.gif
玉树天堂新闻 龙口征途 新余诛仙一条龙 江达完美世界 通渭劲舞团一条龙 克山蜀门GM 凯里天龙八部外挂 夏县传奇服务端下载
平山永恒之塔服务端 威海网页游戏

cncus 发表于 2011-10-9 19:49:58

新开万劫三破雷霆2合一,韩版传奇私服热血传奇sf发布网。人体艺术电影新开变态传奇sf;欧羙范儿奉献情感传奇私服发布我们渐渐互相淡漠‘男人体艺术影刺连击『元素』l冷色调的霸道新开传奇世界私。广东阳山699451,血煞金虎,夺魂万劫擦掌磨拳不一样的非直流;独白小男生的又有谁珍惜,但不是我的菜传奇私服不厌求详,愛是斷線的風箏、牽著最在乎的人a涐喜歡、沵愛涐旳樣孖。内蒙古阿鲁科尔沁957494,黑暗地狱传世SF发布网不共戴天翠绕珠围;奋勇争先无话不说,陌下物是人非",陌上花开花落"吞声忍气,劳苦功高n功成身退。以德报怨旗鼓相当,沵╮勼湜涐唯㈠啲唯㈠p何埘涐才褦甾佽啈冨の笶。











static/image/common/sigline.gif
http://www.43919.com,http://www.98428.com传奇私服,
www.39ms.com减肥网,www.71TL.COM天龙八部私服
www.ms19.com魔兽世界私服,www.B5S5.COM左旋肉碱
www.LE76.COM广州开发票,www.WUQIJI.COM奇迹私服
www.04my.com魔域私服,www.zx40.com诛仙私服
www.939a.com小游戏

ABC_84 发表于 2011-10-14 13:41:49

没看完~~~~~~ 先顶,好同志











static/image/common/sigline.gif
1.95传奇 1.95金牛合击  传奇s服发布网 1.85传奇 今日超变私服传奇 1.85狂雷版本 1.95金牛无内功
页: [1]
查看完整版本: WebBrowser的8个方法、13个属性和事件