|
|
在VC中使用WebBrowser控件的两方法
0 f4 A- i: X% i( ~9 d: J2 [. O X2 e; R$ m j
; R+ z: {5 x0 h) @. ?在VC中使用WebBrowser控件的两方法
9 C$ ^" D7 u0 G- D黄森堂(vcmfc)著
1 l# `0 T9 N) h! Y. i7 J9 C4 L! f h4 J6 g7 K- j1 V h
ClassWizard方式:2 s6 n3 G* k4 y5 \% ?5 j
0 T7 W# [- Q2 \; G$ m
1.创建包装类:View->ClassWizard->Add Class->Form a Type Library->C:\winnt\system32\shdocvw.dll->只选择IWebBrowserApp类->OK->OK
/ m) \: P, A/ T. ^+ Q7 p6 W2.声明一个类变量:IWebBrowserApp m_internetexplorer;,并包含刚才的头文件(xxx.h). X5 T' s* W: r/ { h
3.在类的构造函数中调用COleDispathDrive::CreateDispatch()函数,加载服务器,如下代码:/ {5 I5 k0 n: F+ V) D
m_internetexplorer.CreateDispatch("InternetExplorer.Application.1";* Q A! M3 E0 u; ?& c2 f* y
4.在类的析构函数中调用COleDispathDrive::ReleaseDispatch()函数,加载服务器,如下代码:2 p J& s, q, l3 M8 ?" u
m_internetexplorer.CreateDispatch();$ k1 V" A+ v+ ]2 e& Y
5.在程序中指定URL地址后进行打开WEB页,如下代码:+ U) W" G; t7 x5 o
VARIANT vInfo;6 F/ ^' V' E' t
vInfo.vt=VT_EMPTY;8 v% B- N3 I b! I, G
m_internetexplorer.Navigate("地址",&vInfo,&vInfo,&vInfo,&vInfo);
% \! G' C5 T) h* C9 h/ Q m_internetexploret.SetVisible(TRUE);
7 D- d! T3 ~" C7 m2 y- k7 ~2 t- D* o% R% L3 W4 I
备注:还可以使用插入控件的方式来控制IE的,只需要几步就可以了,如下:7 R. t8 e4 H h& _
1.在VC中插入WebBrowser控件,并产生相应的包装类+ [ \4 ] W: ^1 r7 {1 _ B# d
2.声明一个类变量,可用ClassWizard的变量映射来进行。
* T% p* b6 L. A9 g$ }. h7 U3.在程序中指定URL地址后进行打开WEB页,如下代码:
3 V+ |$ |7 T n VARIANT vInfo;7 @- X2 m& C: |3 Q5 g7 ?
vInfo.vt=VT_EMPTY;
% x7 A3 q9 j0 f3 ~/ h m_internetexplorer.Navigate("地址",&vInfo,&vInfo,&vInfo,&vInfo);
# L5 M& `% [+ t# H1 K7 ~ m_internetexploret.SetVisible(TRUE);, V5 A/ E# _ W/ r; p" v
: x0 r7 y7 a, X; J#import方式:
5 K! K9 `0 U, s6 f) a
/ h- V x3 a% o5 r; D0 K1 Q" R1.使用import导入类,在你的类的头文件加入以下代码:
5 u. s" b( d& \, O; s' Z4 J2 C #import "c:\winnt\system32\shdocvw.dll" rename ("tagREADYSTATE","tagIEREADYSTATE"
6 i: t7 g3 y8 o' j" q5 r using namespace SHDocvw;4 s- \* J0 i$ B/ S
2.声明一个类变量:IWebBrowserAppPtr m_internetexplorer;7 r& [! D+ G0 U* F& L: q
3.在类的构造函数中调用COleDispathDrive::CreateDispatch()函数,加载服务器,如下代码:9 Q, Z# | t* U6 y% O4 v
m_internetexplorer->CreateInstance("InternetExplorer.Application.1";
5 y5 h; _9 l( Y6 U/ \8 U0 R$ Z Y4.在程序中指定URL地址后进行打开WEB页,如下代码:! Q6 O2 F, d0 X# l
VARIANT vInfo;
3 y4 a# m9 {" a9 S3 k& @ vInfo.vt=VT_EMPTY;
. x$ n& u$ C! n7 T/ Z1 K+ ?8 ~" H# ~ m_internetexplorer->Navigate("地址",&vInfo,&vInfo,&vInfo,&vInfo);4 I2 B. a5 j0 L8 T% N6 G
m_internetexploret-> utVisible(TRUE);: E7 a" H; I3 y& n% G; L
! j5 e+ i! |# m0 e. |0 N以上是从《应用Visual Studio 6.0》书上摘下来的,本人没有测试过! |
|