|
|
在VC中使用WebBrowser控件的两方法 ^. W( L: ~* k. G% {
' G2 u+ [- i, M/ k' A
; h+ D* X6 Y! g+ S8 N" K
在VC中使用WebBrowser控件的两方法
5 f( o7 F2 E2 X9 ~$ `$ i3 J2 i黄森堂(vcmfc)著
w( H t! M# p* ^$ Q! r g* ?) m; {0 E
ClassWizard方式:- n/ M7 [# X/ C4 H
2 d. ?: Q! Q3 f+ W2 e1.创建包装类:View->ClassWizard->Add Class->Form a Type Library->C:\winnt\system32\shdocvw.dll->只选择IWebBrowserApp类->OK->OK
; t: i. [4 M4 G0 m9 \7 @9 m2.声明一个类变量:IWebBrowserApp m_internetexplorer;,并包含刚才的头文件(xxx.h); z X+ V ?4 Q! o. H& z
3.在类的构造函数中调用COleDispathDrive::CreateDispatch()函数,加载服务器,如下代码:! k% G. y9 X" E' ^4 U$ K+ i
m_internetexplorer.CreateDispatch("InternetExplorer.Application.1";4 ^5 ` a6 f5 q; q' u6 L9 Y" O, _% O$ |
4.在类的析构函数中调用COleDispathDrive::ReleaseDispatch()函数,加载服务器,如下代码:
( D3 u" e5 j; l; L4 @ m_internetexplorer.CreateDispatch();
% W* f$ K, R3 z- _& N3 [5.在程序中指定URL地址后进行打开WEB页,如下代码:/ C6 _6 W/ B% A4 r$ i
VARIANT vInfo;: k. X/ ], c7 Z; X- Y
vInfo.vt=VT_EMPTY;2 J( D1 `& \3 G. g8 G
m_internetexplorer.Navigate("地址",&vInfo,&vInfo,&vInfo,&vInfo);
. M R% r/ n4 e m_internetexploret.SetVisible(TRUE);
8 I2 t7 ^9 U! Z4 P' J/ y4 C1 B# b* K" B, Z
备注:还可以使用插入控件的方式来控制IE的,只需要几步就可以了,如下:
$ s4 c0 k+ t6 {: }1.在VC中插入WebBrowser控件,并产生相应的包装类- `8 b8 u* k2 d8 M) O z7 @8 A2 }/ l
2.声明一个类变量,可用ClassWizard的变量映射来进行。
2 T1 ?1 C) b$ [8 p* v- w$ U. K3.在程序中指定URL地址后进行打开WEB页,如下代码:
# q. }, T! R" w" A" k ? { VARIANT vInfo;& I% W8 D3 O& b9 b! K
vInfo.vt=VT_EMPTY;! l; e1 Y; B$ L" y
m_internetexplorer.Navigate("地址",&vInfo,&vInfo,&vInfo,&vInfo);7 [4 T# u+ Q3 K( F
m_internetexploret.SetVisible(TRUE);4 ~6 H$ J* o5 t, E0 q _ W
/ R+ B' Z# ~8 b# {2 u#import方式:
L( B' a. B4 Q G2 Q% }
' o8 m* a' ~; X/ L" H8 V6 T4 t" U1.使用import导入类,在你的类的头文件加入以下代码:3 H5 B% [' D+ q4 P
#import "c:\winnt\system32\shdocvw.dll" rename ("tagREADYSTATE","tagIEREADYSTATE"2 v: q- P7 B2 Z& s" w) ]
using namespace SHDocvw;& V* e4 A6 u! K% R1 k- [* t
2.声明一个类变量:IWebBrowserAppPtr m_internetexplorer;. b7 f' V' L; k0 F1 E( @( a
3.在类的构造函数中调用COleDispathDrive::CreateDispatch()函数,加载服务器,如下代码:( w! |1 I1 ~- Y1 [0 o7 j7 o
m_internetexplorer->CreateInstance("InternetExplorer.Application.1";6 F M- K6 D$ `5 `6 _+ @
4.在程序中指定URL地址后进行打开WEB页,如下代码:
+ @( K9 @ h7 R3 T5 h% u. ` h2 h VARIANT vInfo;5 Q3 ?8 m: \8 g/ W8 i5 q
vInfo.vt=VT_EMPTY;
. @& ~; n3 q' i( b/ c m_internetexplorer->Navigate("地址",&vInfo,&vInfo,&vInfo,&vInfo);6 J/ S9 M; }4 }7 V
m_internetexploret-> utVisible(TRUE);5 n$ r3 z9 \% ]
2 {: E# J3 k! V6 D以上是从《应用Visual Studio 6.0》书上摘下来的,本人没有测试过! |
|