|
在VC中使用WebBrowser控件的两方法
/ |+ }* L, i7 s; v! C/ y* W: G: U& h8 @' V6 Z5 a% j
0 n2 Z9 t V1 i' V3 ?" z$ W6 M- w在VC中使用WebBrowser控件的两方法
4 a! R6 S7 N8 i2 E2 R) \& y黄森堂(vcmfc)著
& c6 y# Z1 s9 l T9 w
6 `: t- V; N! Y1 D) u1 ^1 ]ClassWizard方式:
3 D7 q0 J" s4 ~! ~0 a" G- ~; m5 I; U1 n
1.创建包装类:View->ClassWizard->Add Class->Form a Type Library->C:\winnt\system32\shdocvw.dll->只选择IWebBrowserApp类->OK->OK
4 g/ i5 K& d8 n; Q- s2.声明一个类变量:IWebBrowserApp m_internetexplorer;,并包含刚才的头文件(xxx.h)
7 E3 v( o/ I/ Z( T5 O) K3.在类的构造函数中调用COleDispathDrive::CreateDispatch()函数,加载服务器,如下代码:
3 i7 j& H% ]( C% ~0 B m_internetexplorer.CreateDispatch("InternetExplorer.Application.1";$ h+ S5 @( \. G# x# ]9 |1 J6 D
4.在类的析构函数中调用COleDispathDrive::ReleaseDispatch()函数,加载服务器,如下代码:
# F1 k1 A8 S7 [" s- W m_internetexplorer.CreateDispatch();
, r V' n0 j9 n3 m: D, E1 y) y* m' n5.在程序中指定URL地址后进行打开WEB页,如下代码:
4 q" r# }3 W" K9 h3 K+ Z- S% G1 Z6 Q VARIANT vInfo;3 z7 Z- D) V' p0 `2 [+ x* t
vInfo.vt=VT_EMPTY;' t3 A% x+ w( `, ?" f8 o
m_internetexplorer.Navigate("地址",&vInfo,&vInfo,&vInfo,&vInfo);
8 U5 O, x: ]" P" z m_internetexploret.SetVisible(TRUE);3 d- [8 ]: d9 w6 N2 M" t$ g
( @" ]0 P$ j! c+ J! t& }
备注:还可以使用插入控件的方式来控制IE的,只需要几步就可以了,如下:0 B/ Q& o7 `- t0 {5 D: v6 B
1.在VC中插入WebBrowser控件,并产生相应的包装类
5 T! k; m5 C( M: e+ Y$ \ V2.声明一个类变量,可用ClassWizard的变量映射来进行。
8 c/ H; m5 z" U( l2 ?1 I3.在程序中指定URL地址后进行打开WEB页,如下代码:. t# {' k. R4 O1 l' q9 `
VARIANT vInfo;" f/ ^8 S5 H8 K5 S) L) \5 F
vInfo.vt=VT_EMPTY;9 w: o; X o0 m# J
m_internetexplorer.Navigate("地址",&vInfo,&vInfo,&vInfo,&vInfo);
: _# z/ e0 S8 t D& M( d. d m_internetexploret.SetVisible(TRUE);
: p) }& \. A# A1 K, ?5 O6 u7 Z+ g3 w, K
#import方式:
/ [7 v' X8 o3 k) j! n" R. L
/ O! k$ a4 P. ^* X) W- ^$ w1.使用import导入类,在你的类的头文件加入以下代码:
! x) K/ v) T( h/ Z0 ]# C4 S #import "c:\winnt\system32\shdocvw.dll" rename ("tagREADYSTATE","tagIEREADYSTATE"# W% m# V7 A# A
using namespace SHDocvw;5 K% M% S# S H' Y
2.声明一个类变量:IWebBrowserAppPtr m_internetexplorer;) ^9 ]+ q) b% o4 C6 j9 ~
3.在类的构造函数中调用COleDispathDrive::CreateDispatch()函数,加载服务器,如下代码:
. t5 @! E" L( F; U/ c/ U8 y# t m_internetexplorer->CreateInstance("InternetExplorer.Application.1";
" G) f* L& }7 j# I) C4.在程序中指定URL地址后进行打开WEB页,如下代码:2 ~ q" L& }! n ^9 ?$ P: |
VARIANT vInfo;9 h2 v# k2 ^: }5 y/ M
vInfo.vt=VT_EMPTY;
5 B4 O$ s1 {1 ?7 i# b: x. ^ m_internetexplorer->Navigate("地址",&vInfo,&vInfo,&vInfo,&vInfo);
5 M$ f# F. Y2 H# A- I3 z- |& P5 _ m_internetexploret-> utVisible(TRUE);" f) L! f4 u6 W ~0 W1 Q0 ]; B5 W
' L: n% ?' q) H以上是从《应用Visual Studio 6.0》书上摘下来的,本人没有测试过! |
|