|
在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》书上摘下来的,本人没有测试过! |
|