|
在VC中使用WebBrowser控件的两方法
% \/ q+ I( f7 L `. A9 C; T ~% E7 Q- a, x
' p: i, |. V" A/ ?8 h& n# t% H
在VC中使用WebBrowser控件的两方法$ `5 D# F1 z# F5 j' W9 T
黄森堂(vcmfc)著2 _0 C: Q; Z" N- }4 S7 [0 r. d
a: `) s; \ }9 ]2 J) b
ClassWizard方式:6 |& H) A( l4 p' I
1 J' R" c3 K% H$ r- C) z
1.创建包装类:View->ClassWizard->Add Class->Form a Type Library->C:\winnt\system32\shdocvw.dll->只选择IWebBrowserApp类->OK->OK2 F9 T9 ^- [- I5 O% l4 A7 b9 N+ |
2.声明一个类变量:IWebBrowserApp m_internetexplorer;,并包含刚才的头文件(xxx.h)
9 p4 Q7 L7 X: f s! n& ?7 W/ Y3.在类的构造函数中调用COleDispathDrive::CreateDispatch()函数,加载服务器,如下代码:! s# ^! d) J6 b- Z2 q( k; g- |
m_internetexplorer.CreateDispatch("InternetExplorer.Application.1";
; V6 w0 f x% s) ^ m4.在类的析构函数中调用COleDispathDrive::ReleaseDispatch()函数,加载服务器,如下代码:2 {( b* @' _3 G# @
m_internetexplorer.CreateDispatch();
: n# F8 S X b0 i9 T: k5.在程序中指定URL地址后进行打开WEB页,如下代码:
' j" I) {9 E4 ~ VARIANT vInfo;
+ Y1 k! z# z" I$ c" [, Z3 ^' |& s( f vInfo.vt=VT_EMPTY;
" n5 ~% R6 J! ]7 ?" W+ s0 l0 i0 u m_internetexplorer.Navigate("地址",&vInfo,&vInfo,&vInfo,&vInfo);; L9 {' B: G$ J- r9 }# m
m_internetexploret.SetVisible(TRUE);+ s% L, H2 N1 x% t. q/ f" a$ V b
' Y; O& z+ c; \# m& H6 K$ L) u备注:还可以使用插入控件的方式来控制IE的,只需要几步就可以了,如下:. u% P% ?; L7 S5 J! T8 B0 J
1.在VC中插入WebBrowser控件,并产生相应的包装类+ g( _3 M, x" G* g* X; B& H# ^3 ]
2.声明一个类变量,可用ClassWizard的变量映射来进行。
& y& a) N. g: m; ^3.在程序中指定URL地址后进行打开WEB页,如下代码:: z! |8 P2 }! f
VARIANT vInfo;
9 f* L$ R5 H8 ^ vInfo.vt=VT_EMPTY;: R: n! |* F) q2 P6 P1 v) Y& W
m_internetexplorer.Navigate("地址",&vInfo,&vInfo,&vInfo,&vInfo);
3 o1 I2 V) ?0 r B4 T3 d m_internetexploret.SetVisible(TRUE);
4 }2 X5 n1 B$ Y* q' @* p5 A4 I
$ j3 |; e; `* V! m# B#import方式:
; c/ Z$ i( B5 Q9 B. M2 g9 s+ {+ ]! R
1.使用import导入类,在你的类的头文件加入以下代码:9 j/ l, V1 Z; ~! c
#import "c:\winnt\system32\shdocvw.dll" rename ("tagREADYSTATE","tagIEREADYSTATE"$ x- `9 V# S/ k a
using namespace SHDocvw;
2 s/ E# H0 `, f1 z4 n! U2.声明一个类变量:IWebBrowserAppPtr m_internetexplorer;( J$ A6 c; K0 C# k# _% }$ q! V
3.在类的构造函数中调用COleDispathDrive::CreateDispatch()函数,加载服务器,如下代码: T0 a. _. D' T$ p% u/ U# t
m_internetexplorer->CreateInstance("InternetExplorer.Application.1";
% g) @/ t! ^& Z) G- v4.在程序中指定URL地址后进行打开WEB页,如下代码:
( P4 F$ `' j. m/ n# k3 J6 J VARIANT vInfo;5 n6 ?, U+ b% r/ J$ q( b
vInfo.vt=VT_EMPTY;
, q! ~3 ^( M0 X/ l% m* i6 J1 J m_internetexplorer->Navigate("地址",&vInfo,&vInfo,&vInfo,&vInfo);8 |& e. x. Z4 t: ]( X/ V6 U
m_internetexploret-> utVisible(TRUE);
) V! _. A& c7 j$ k, R' e1 J! h! ]7 C# E6 s# l% o S$ E3 w
以上是从《应用Visual Studio 6.0》书上摘下来的,本人没有测试过! |
|