|
|
在VC中使用WebBrowser控件的两方法
5 O: M6 q @. O( D$ G/ k& h8 Q- E. `; I
% W% x, w2 d4 i在VC中使用WebBrowser控件的两方法
, D! D) [) w7 U. X! Z5 P" ^! f! A黄森堂(vcmfc)著
& J. v$ Q9 b* ?; ] B# \/ v& l
1 |0 A d# d2 Z% A' dClassWizard方式:
3 e+ F: \0 V" ^6 \9 O3 h. S5 c: f: D% M* m+ ]
1.创建包装类:View->ClassWizard->Add Class->Form a Type Library->C:\winnt\system32\shdocvw.dll->只选择IWebBrowserApp类->OK->OK
* U0 {( d# O1 f( L& B$ e5 |8 f2.声明一个类变量:IWebBrowserApp m_internetexplorer;,并包含刚才的头文件(xxx.h)
, Z" }) H5 _0 j5 {& Z; V3.在类的构造函数中调用COleDispathDrive::CreateDispatch()函数,加载服务器,如下代码:" t: y0 B% X H
m_internetexplorer.CreateDispatch("InternetExplorer.Application.1";
: `8 D& D; ~$ U8 G$ Y4.在类的析构函数中调用COleDispathDrive::ReleaseDispatch()函数,加载服务器,如下代码:4 d8 B. c) g" N. ^6 k* R7 ^
m_internetexplorer.CreateDispatch();: Q; b4 w I; J2 a0 }
5.在程序中指定URL地址后进行打开WEB页,如下代码:# H! P$ F0 Y) `% x: S3 i
VARIANT vInfo;$ G& e! C, n5 V6 a) i% ~3 ]3 L
vInfo.vt=VT_EMPTY;
4 F$ M- f8 q8 C m_internetexplorer.Navigate("地址",&vInfo,&vInfo,&vInfo,&vInfo);# n ~2 e% D6 B; @+ C- k
m_internetexploret.SetVisible(TRUE);6 h* _; l' m2 C/ k
/ c1 z3 x4 ^% N; N) i备注:还可以使用插入控件的方式来控制IE的,只需要几步就可以了,如下:- A! K9 f F" I
1.在VC中插入WebBrowser控件,并产生相应的包装类8 V4 {! F" l5 B1 V
2.声明一个类变量,可用ClassWizard的变量映射来进行。
4 U4 X) x) G' m, f( }3.在程序中指定URL地址后进行打开WEB页,如下代码:5 x+ ]: m( i+ V+ F" E
VARIANT vInfo;# T& m* Y3 E! K: T0 C
vInfo.vt=VT_EMPTY;% F# r8 `6 N( \" M
m_internetexplorer.Navigate("地址",&vInfo,&vInfo,&vInfo,&vInfo);
4 `' [' `0 D# q' A m_internetexploret.SetVisible(TRUE);4 B& ]4 [& \1 R$ W" V
. L) u" ~ c3 q! j; \3 \#import方式:' M- ~. O1 ?8 J8 f5 E) l
0 l0 }9 l8 J: J* b% B! m
1.使用import导入类,在你的类的头文件加入以下代码:! k) ^2 |8 \# K5 `
#import "c:\winnt\system32\shdocvw.dll" rename ("tagREADYSTATE","tagIEREADYSTATE"
/ J% Z' j4 a3 E& E7 c' { using namespace SHDocvw;
1 X) T" X+ |. p2.声明一个类变量:IWebBrowserAppPtr m_internetexplorer;
! C6 ?4 _/ U: h3.在类的构造函数中调用COleDispathDrive::CreateDispatch()函数,加载服务器,如下代码:
+ J) P, g! h0 v, s& m m_internetexplorer->CreateInstance("InternetExplorer.Application.1";# \" V" k+ x6 _0 G
4.在程序中指定URL地址后进行打开WEB页,如下代码:, U( e) y& X& g) k+ q2 u1 s/ L5 f
VARIANT vInfo;
! t2 p/ c1 L/ u1 z- G( y vInfo.vt=VT_EMPTY;
" Z; V! t0 D* J# i { G m_internetexplorer->Navigate("地址",&vInfo,&vInfo,&vInfo,&vInfo);
! _; U( X) k' a5 ?6 G: u m_internetexploret-> utVisible(TRUE);- f r7 I3 h( [/ b7 B; g
9 Y l9 _2 {8 N$ H. L& D* w2 ]以上是从《应用Visual Studio 6.0》书上摘下来的,本人没有测试过! |
|