|
|
在VC中使用WebBrowser控件的两方法
3 y' R' ~* F) G7 }* n6 s) Y# c6 O8 {% d; J3 g# \
' V" p3 G0 e" M& b, c6 n3 [在VC中使用WebBrowser控件的两方法: P, b4 i3 `7 n1 ~+ q
黄森堂(vcmfc)著
- ~: G/ S: n8 @
" p/ I0 ~) Y* g1 u3 x. X) CClassWizard方式:4 G. a# S& H& z8 P! c# ^% g3 q
+ k4 U$ S) Z- ]5 t4 ]! ?+ g1.创建包装类:View->ClassWizard->Add Class->Form a Type Library->C:\winnt\system32\shdocvw.dll->只选择IWebBrowserApp类->OK->OK6 d& U* g- j9 `
2.声明一个类变量:IWebBrowserApp m_internetexplorer;,并包含刚才的头文件(xxx.h)0 f) ]+ ~* {, [$ [4 j0 f' |
3.在类的构造函数中调用COleDispathDrive::CreateDispatch()函数,加载服务器,如下代码: f- W- Z, e1 I n% }! e
m_internetexplorer.CreateDispatch("InternetExplorer.Application.1";6 D( o1 F2 g- i1 O: v
4.在类的析构函数中调用COleDispathDrive::ReleaseDispatch()函数,加载服务器,如下代码:+ R$ r6 v) \" a; A. C
m_internetexplorer.CreateDispatch();
. C. J/ U# |1 V- f4 ^5.在程序中指定URL地址后进行打开WEB页,如下代码:
2 @- n$ z: C& P5 y) i! A VARIANT vInfo;' D2 z* T' C' L8 B
vInfo.vt=VT_EMPTY;
' ^& m% U& G4 N/ E" V* X( N! g" I m_internetexplorer.Navigate("地址",&vInfo,&vInfo,&vInfo,&vInfo);- E: {& } _5 {# K+ e( A2 ]
m_internetexploret.SetVisible(TRUE);( l! `2 r+ e/ `$ A# z
* M# i! F5 Q$ O+ I. K" f2 }
备注:还可以使用插入控件的方式来控制IE的,只需要几步就可以了,如下:
3 ?3 ^4 j1 G; Z1.在VC中插入WebBrowser控件,并产生相应的包装类
j; {& m3 }3 @* D: v4 G7 w" } F6 A2.声明一个类变量,可用ClassWizard的变量映射来进行。5 Z% z* w: w# A4 U1 H! `' a) _
3.在程序中指定URL地址后进行打开WEB页,如下代码:0 U9 b9 ^- O. a# Q7 p+ ?* W) [3 M- c6 }
VARIANT vInfo;# m4 O) i/ e& E) ^, s$ D
vInfo.vt=VT_EMPTY;0 Z6 C6 k5 ~' F8 _
m_internetexplorer.Navigate("地址",&vInfo,&vInfo,&vInfo,&vInfo);
^3 Q$ s! c) O' ]% z% [ m_internetexploret.SetVisible(TRUE);
) _" W+ |, t) ?' E! Y/ e1 e# G2 I* p( T
#import方式:
; K* M& X* ^+ _& k2 v- k# F2 I, }0 h" Y! R) f
1.使用import导入类,在你的类的头文件加入以下代码:
- R! w) |7 l/ @. p9 F w. O #import "c:\winnt\system32\shdocvw.dll" rename ("tagREADYSTATE","tagIEREADYSTATE"
. [' l P- n. M& [% L using namespace SHDocvw;
4 q$ c7 H0 ^: F+ Q: k% R0 W* [; ^2.声明一个类变量:IWebBrowserAppPtr m_internetexplorer;
9 C" ^( ~! s3 w& g" S& C3.在类的构造函数中调用COleDispathDrive::CreateDispatch()函数,加载服务器,如下代码:
5 t4 t) A2 b3 {8 x; W) R6 E& { m_internetexplorer->CreateInstance("InternetExplorer.Application.1";9 K+ l" R% @ _- V) [: {, t
4.在程序中指定URL地址后进行打开WEB页,如下代码:% T) Y: V0 p @# }* e5 x( L& J" O+ O
VARIANT vInfo;( I3 L4 y" I5 C, m7 c
vInfo.vt=VT_EMPTY;
* q0 w7 L0 u* t. e m_internetexplorer->Navigate("地址",&vInfo,&vInfo,&vInfo,&vInfo);
3 l* ~6 |( H( d3 f9 V% ] m_internetexploret-> utVisible(TRUE);
! F0 W( P' N8 @& ]
, I/ Q; [0 ~: H& `5 [( y以上是从《应用Visual Studio 6.0》书上摘下来的,本人没有测试过! |
|