|
在VC中使用WebBrowser控件的两方法: r% ^5 `- o8 n7 ?# U7 U+ J3 G2 Y
* ]! M/ A& o. h8 n( h8 v * \ h; z$ n9 F1 V/ R7 o* y% D
在VC中使用WebBrowser控件的两方法
% z. N- n, `: w0 R黄森堂(vcmfc)著
. W1 {9 ]3 B+ o3 F) O3 J b) S$ ]& W, b" E
ClassWizard方式:
. \2 o5 \; n& w% h* n$ E! |7 H/ j, m7 L E, C6 k
1.创建包装类:View->ClassWizard->Add Class->Form a Type Library->C:\winnt\system32\shdocvw.dll->只选择IWebBrowserApp类->OK->OK
, V8 |2 x; N9 i' D$ D- U2.声明一个类变量:IWebBrowserApp m_internetexplorer;,并包含刚才的头文件(xxx.h)
- I7 s8 b# O! S( w" g# c% \: Y3 P- F3.在类的构造函数中调用COleDispathDrive::CreateDispatch()函数,加载服务器,如下代码:$ N1 `0 c( x- l* I7 w! e
m_internetexplorer.CreateDispatch("InternetExplorer.Application.1";! X1 C9 Z2 Z& X
4.在类的析构函数中调用COleDispathDrive::ReleaseDispatch()函数,加载服务器,如下代码:
1 O, y' Y% K. Q$ u/ v8 T, k m_internetexplorer.CreateDispatch();. l$ I, [2 j) {: P6 R5 v* [3 r
5.在程序中指定URL地址后进行打开WEB页,如下代码:, R8 g/ C% V j1 i
VARIANT vInfo;& z, v) Y. c, v3 l9 O! I
vInfo.vt=VT_EMPTY;
) T' @; J. z P7 t2 a# D* Z m_internetexplorer.Navigate("地址",&vInfo,&vInfo,&vInfo,&vInfo);
7 V8 Q: P+ M M; b1 M o& Y m_internetexploret.SetVisible(TRUE);7 g; o2 S+ z; k M
1 ^: P3 H3 k/ |& D0 v
备注:还可以使用插入控件的方式来控制IE的,只需要几步就可以了,如下:( d h( U. w* E* a1 |
1.在VC中插入WebBrowser控件,并产生相应的包装类& D: O. i" E! U; K, r( G
2.声明一个类变量,可用ClassWizard的变量映射来进行。: x) F! P3 K6 H5 O* {; c
3.在程序中指定URL地址后进行打开WEB页,如下代码:
" b) d. ]; D% t! E! {& a VARIANT vInfo;5 R! q& W. P( ^+ }/ F) }" x& a
vInfo.vt=VT_EMPTY;
n1 P; C x4 ^8 E) c m_internetexplorer.Navigate("地址",&vInfo,&vInfo,&vInfo,&vInfo);
2 F/ y3 v1 ~( |7 D6 s2 ^$ { m_internetexploret.SetVisible(TRUE);8 k6 c, B- ^6 E2 V. k ]
* I% _9 |' o7 F; b0 Y! G& k
#import方式:' d1 t0 o' z" [; e9 R
- w4 B8 H2 j H- M2 i1.使用import导入类,在你的类的头文件加入以下代码:
+ M- h9 M" _! P #import "c:\winnt\system32\shdocvw.dll" rename ("tagREADYSTATE","tagIEREADYSTATE"
* Q3 H! ]' ~1 v7 H8 a using namespace SHDocvw;. Z5 [7 t# h* o; N) H( _; V
2.声明一个类变量:IWebBrowserAppPtr m_internetexplorer;0 l; q) u/ t2 M% X
3.在类的构造函数中调用COleDispathDrive::CreateDispatch()函数,加载服务器,如下代码:4 {8 }( R2 E! M$ [6 ]) ]
m_internetexplorer->CreateInstance("InternetExplorer.Application.1";$ H8 C4 ~) X% g4 v+ j
4.在程序中指定URL地址后进行打开WEB页,如下代码:3 X6 _7 A1 V U4 r% S( v) ~
VARIANT vInfo;
" R+ b+ n" x) c) o vInfo.vt=VT_EMPTY;
/ [0 P0 K5 T# U, p% o m_internetexplorer->Navigate("地址",&vInfo,&vInfo,&vInfo,&vInfo);
7 F* @4 k$ ?! T+ f m_internetexploret-> utVisible(TRUE);
: p# R; `# Q) m1 I8 s. W6 G7 k5 O, {, g8 h; z t5 K/ y
以上是从《应用Visual Studio 6.0》书上摘下来的,本人没有测试过! |
|