分享
 
 
 

如何对webbrowser和IE编程(二)

王朝other·作者佚名  2006-01-31
窄屏简体版  字體: |||超大  

调用 Navigate 方法比GoBack 以及 GoForward 要困难,但如果你正仅仅导航到URL 且并不传递任何附加参数, 它的调用很容易。 举例来说, VB中导航到 Microsoft 主页, 可如下:

WebBrowser1.Navigate "http://www.microsoft.com"

VB代码调用Navigate 如此容易因为所有参数出第一个参数外都可以是可选. 如此相对照,VC++不可以省略任何参数. 如果你想使用VC++不是勇任何特别的参数导航到 Microsoft的 home page, 你必须传递空的VARIANT 结构。 MFC 应用程序,你必须如下调用 Navigate

COleVariant vtEmpty;

m_webBrowser.Navigate(_T("http://www.microsoft.com"), &vtEmpty, &vtEmpty,

&vtEmpty, &vtEmpty);

该例子展示了在MFC应用程序中控制WebBrowser控件. 我传递一个普通的字符串而替代 BSTR 因为 MFC 提供了一个 WebBrowser 控件的包装类,第一个载包装类中是LPCTSTR, 一个普通的字符串. 其他参数为指向 VARIANT 结构的指针。 如果你不想指定任何特别的参数, 别仅仅传递 NULL —那样做, 你的应用程序会招来崩溃。你必须传递一个空的VARIANT 结构的指针. 前面的代码使用了 COleVariant 类, 那是一个与 CComVariant 类相似的类[url=http://writeblog.csdn.net/fckeditor/editor/ch05a.htm][/url]。 COleVariant 简单包装了 VARIANT 使得VARIANT 结构易于使用.

属性 现在你看到了所有的 IwebBrowser 的方法,你大概向了解其属性。(我是不是太苛求了?) IWebBrowser 接口有30个属性,描述于表6-2. 我一已按照IWebBrowser 的Vtable中的字母序列出。

Table 6-2. IWebBrowser 属性按照vtable排序

属性

描述

Application

返回宿主WebBrowser 控件的自动化对象 (IDispatch) 实现,如果对象不可用,则返回的WebbOrwser控件的自动化对象

Parent

返回WebBrowser控件的父控件的自动化实现 (IDispatch) ,通常是容器—举例来讲,,您的宿主或者Internet Explorer 窗口。

Container

返回WebBrowser控件容器的自动化对象 (IDispatch) 。通常,该值返回同 Parent 属性一样的值。.

Document

返回活动文档的自动化实现 (IDispatch) 。如果 HTML 当前显示在WebBrowser, Document 属性给出你存取 DHTML 对象模型的途径.

TopLevelContainer

返回一个布尔值指示IE是否是WebBRowser控件的顶级容器。在 words中,如果IE是宿主应用承需则返回true

Type

返回已经在WebBrowser中装载的对象的类型。举例,如果HTML document被装载, Type 将返回 Microsoft HTML Document 5.0. 如果文档是Word 文档, Type 返回 Microsoft Word Document.

Left

.返回或设置控件在容器窗口左边距

Top

.返回或设置控件在容器窗口顶部边距

Width

返回或设置webbrowser控件在窗口中的水平方向的向苏为单位宽度

Height

返回或设置webbrowser控件在窗口中的处置方向的向像素为单位高度

LocationName

返回一个WebBrowser当前显示的资源名称的字符串 (换句话讲, HTML 页, Word 文档,,folder, 诸如此类) 。 如果资源是 HTML 页,字符串是标题。如果资源是文件或者文件夹,字符串为文件名或者文件夹名。—举例, foo.doc (Word文档)或者 Temp (temp directory.)

LocationURL

返回WebBrowser正在显示的资源的URL

Busy

返回一个布尔值指示WebBrowser 当前是否正在装入 URL.。如果当前属性返回 true, 你可以使用 Stop 方法取消代掉导航。

看完表 6-2, 清晰展示了你可使用的属性. 当中的一些可能需要更多的解释. IWebBrowser 使用的相当多的一个属性是 LocationURL, 给出了当前你装入WebBrowser窗口的 URL。 获取 LocationURL 值在VB中相当容易:

Dim strLocation

strLocation = WebBrowser1.LocationURL

Visual C++的MFC应用, MFC 包装类使的访问LocationURL 很容易. 你简单调用 GetLocationURL 方法,该方法返回一个 CString 对象. 当你想在自动化IE中或者webBrowser的MFC应用中访问 LocationURL when automating Internet Explorer or when hosting the WebBrowser control in a C++ application that's not built by using MFC, 你必须调用携带一指向BSTR的指针。 BSTR 将包含返回值. 此处展示如何在 C++中使用:

BSTR bstrURL;

m_pInternetExplorer->get_LocationURL(&bstrURL);

存取 Document 属性在VB中相当容易,当定义一个变量后(举例, HtmlDoc), 值需要 set 为 Document 属性:

Set HtmlDoc = WebBrowser1.Document

MFC 中也很容易,使用 MFC 包装类的GetDocument方法:

IDispatch* pDisp;

pDisp = m_webBrowser.GetDocument();

GetDocument 返回指向代表文档 IDispatch 接口的指针. 如果 GetDocument 失败, 该对象将为NULL.

非MFC C++ 应用或者任何自动化IE的C++ 应用访问Document 属性就只能够采用调用COM的方法—通过属性的get_方法. (注艺属性实只读,所以这里无put_ 方法.) 当调用 Document 的get_ 方法,你传递一个接受 IDispatch 的指针.此处展示了如何调用:

IDispatch* pDisp;

HRESULT hr = m_pInternetExplorer->get_Document(&pDisp);

当使用这些代码,你可以使用 SUCCEEDED 宏( Win32 API的一部分), 以监测调用是否成功。在尝试使用Idispatch接口前你应当确信调用成功。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有