DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

在VC中使用WebBrowser控件的两方法

黄森堂(vcmfc)著

 

ClassWizard方式:

 

1.创建包装类:View->ClassWizard->Add Class->Form a Type Library->C:\winnt\system32\shdocvw.dll->只选择IWebBrowserApp类->OK->OK

2.声明一个类变量:IWebBrowserApp m_internetexplorer;,并包含刚才的头文件(xxx.h)

3.在类的构造函数中调用COleDispathDrive::CreateDispatch()函数,加载服务器,如下代码:

  m_internetexplorer.CreateDispatch("InternetExplorer.Application.1");

4.在类的析构函数中调用COleDispathDrive::ReleaseDispatch()函数,加载服务器,如下代码:

  m_internetexplorer.CreateDispatch();

5.在程序中指定URL地址后进行打开WEB页,如下代码:

  VARIANT vInfo;

  vInfo.vt=VT_EMPTY;

  m_internetexplorer.Navigate("地址",&vInfo,&vInfo,&vInfo,&vInfo);

  m_internetexploret.SetVisible(TRUE);

 

备注:还可以使用插入控件的方式来控制IE的,只需要几步就可以了,如下:

1.在VC中插入WebBrowser控件,并产生相应的包装类

2.声明一个类变量,可用ClassWizard的变量映射来进行。

3.在程序中指定URL地址后进行打开WEB页,如下代码:

  VARIANT vInfo;

  vInfo.vt=VT_EMPTY;

  m_internetexplorer.Navigate("地址",&vInfo,&vInfo,&vInfo,&vInfo);

  m_internetexploret.SetVisible(TRUE);

 

#import方式:

 

1.使用import导入类,在你的类的头文件加入以下代码:

  #import "c:\winnt\system32\shdocvw.dll" rename ("tagREADYSTATE","tagIEREADYSTATE")

    using namespace SHDocvw;

2.声明一个类变量:IWebBrowserAppPtr m_internetexplorer;

3.在类的构造函数中调用COleDispathDrive::CreateDispatch()函数,加载服务器,如下代码:

  m_internetexplorer->CreateInstance("InternetExplorer.Application.1");

4.在程序中指定URL地址后进行打开WEB页,如下代码:

  VARIANT vInfo;

  vInfo.vt=VT_EMPTY;

  m_internetexplorer->Navigate("地址",&vInfo,&vInfo,&vInfo,&vInfo);

  m_internetexploret->PutVisible(TRUE);

参考资料:http://bbs.zdnet.com.cn/thread-303926-1-1.html

posted on 2014-04-30 17:52  DoubleLi  阅读(2260)  评论(0编辑  收藏  举报