找回密码
 注册
搜索
查看: 4066|回复: 0

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

[复制链接]
发表于 2004-1-20 21:23:15 | 显示全部楼层 |阅读模式
在VC中使用WebBrowser控件的两方法9 g1 S( l! b! _& h" a! I! U4 h& g
$ O) K0 q; L, h! G
 
& s3 E# h9 G0 a( R7 r( N& ?在VC中使用WebBrowser控件的两方法4 L$ m3 X' o3 v# `" a+ M
黄森堂(vcmfc)著3 k$ O+ L  j8 W

+ A( f  t3 i  q$ \ClassWizard方式:
7 D" S& g1 z0 _, t5 ^! f% R; e/ o! y
1.创建包装类:View->ClassWizard->Add Class->Form a Type Library->C:\winnt\system32\shdocvw.dll->只选择IWebBrowserApp类->OK->OK& W" l6 B4 e+ u8 L& }# ~, `; \& f' G
2.声明一个类变量:IWebBrowserApp m_internetexplorer;,并包含刚才的头文件(xxx.h)# z4 V2 Z4 J/ k/ c7 g4 l
3.在类的构造函数中调用COleDispathDrive::CreateDispatch()函数,加载服务器,如下代码:
! h/ h0 K7 F( f0 V! }5 X8 P% z  m_internetexplorer.CreateDispatch("InternetExplorer.Application.1";
$ c  k2 e* X) K4 g3 j4 a1 i4.在类的析构函数中调用COleDispathDrive::ReleaseDispatch()函数,加载服务器,如下代码:* J: O; Q4 T! J/ h" R; c6 G2 ]
  m_internetexplorer.CreateDispatch();
. O8 k' [$ T* [9 ]6 `) R5.在程序中指定URL地址后进行打开WEB页,如下代码:2 ^) @9 E' {5 ~+ x. m% f
  VARIANT vInfo;
) a. D2 G( ^; m2 `4 y* q  vInfo.vt=VT_EMPTY;
2 F# b' Q" e' I  m_internetexplorer.Navigate("地址",&vInfo,&vInfo,&vInfo,&vInfo);
8 n; J" J! K& g# A/ {8 s3 z  m_internetexploret.SetVisible(TRUE);$ ?. J' f6 h4 y+ U' N
( T- E* o* X9 L" Y  @( W
备注:还可以使用插入控件的方式来控制IE的,只需要几步就可以了,如下:* P( @9 c. q# r: P+ E
1.在VC中插入WebBrowser控件,并产生相应的包装类
# T" u0 N/ `5 x, |. ]2.声明一个类变量,可用ClassWizard的变量映射来进行。, o" p! m2 j; L# M
3.在程序中指定URL地址后进行打开WEB页,如下代码:
9 V* x" E$ k) h5 ^: m( }  VARIANT vInfo;
5 L8 J: i# m' `  vInfo.vt=VT_EMPTY;& z6 u3 M: E+ N8 Y5 ^
  m_internetexplorer.Navigate("地址",&vInfo,&vInfo,&vInfo,&vInfo);
5 Y/ T7 ~* M8 T) e" `  m_internetexploret.SetVisible(TRUE);
; F. s5 w! I1 C/ c% g% _. W4 a3 u3 e1 G$ H, p, ?) N
#import方式:0 ~* ?, @) `0 J; {4 @

" z& H! o$ ?1 \; ]6 j9 C1.使用import导入类,在你的类的头文件加入以下代码:
: l) ~/ ^+ R: `  #import "c:\winnt\system32\shdocvw.dll" rename ("tagREADYSTATE","tagIEREADYSTATE"! v1 Q  `) f0 A" u( |& ^
    using namespace SHDocvw;
  T- X2 D1 ?. B8 L- ?: }+ |2.声明一个类变量:IWebBrowserAppPtr m_internetexplorer;
! ?% o: t, C% i3.在类的构造函数中调用COleDispathDrive::CreateDispatch()函数,加载服务器,如下代码:3 E3 P% d' f4 o+ Z' g
  m_internetexplorer->CreateInstance("InternetExplorer.Application.1";/ A* [% E( Q, o
4.在程序中指定URL地址后进行打开WEB页,如下代码:
3 m) C4 O5 x" t) D) {% N  VARIANT vInfo;# y, D" k# B+ e
  vInfo.vt=VT_EMPTY;
& ~, d" O2 T8 `0 P  m_internetexplorer->Navigate("地址",&vInfo,&vInfo,&vInfo,&vInfo);
+ c2 G( u2 d7 {2 k  m_internetexploret->utVisible(TRUE);
$ n& [# ]7 U5 t( n) K, u, q1 m( z3 w4 R7 m# j2 H6 g. V& g) t
以上是从《应用Visual Studio 6.0》书上摘下来的,本人没有测试过!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|宁德市腾云网络科技有限公司 ( 闽ICP备2022007940号-5|闽公网安备 35092202000206号 )

GMT+8, 2025-6-19 09:04 , Processed in 0.014646 second(s), 14 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表