|
|
在VC中使用WebBrowser控件的两方法
; _/ [0 u- C* G8 p) f
* w+ e5 h- B% v& Y; l$ f3 A j( o
6 z. p q* z3 W6 S在VC中使用WebBrowser控件的两方法 x& r; O: L8 T, X; W
黄森堂(vcmfc)著
( A6 [ Q8 `' E9 J0 B; v1 d" m4 Y, @7 _2 n
ClassWizard方式:
. J* y. A/ N0 r- v6 J) C0 O( P) U! F) q3 M
1.创建包装类:View->ClassWizard->Add Class->Form a Type Library->C:\winnt\system32\shdocvw.dll->只选择IWebBrowserApp类->OK->OK
' \% u6 F+ K- ~1 ^' [2.声明一个类变量:IWebBrowserApp m_internetexplorer;,并包含刚才的头文件(xxx.h)8 E% s/ B& f/ `. c, q
3.在类的构造函数中调用COleDispathDrive::CreateDispatch()函数,加载服务器,如下代码:" A) t* F- h0 ?
m_internetexplorer.CreateDispatch("InternetExplorer.Application.1";
- Y; }" L- ~' m( V% U/ |+ ?4.在类的析构函数中调用COleDispathDrive::ReleaseDispatch()函数,加载服务器,如下代码:
$ b1 B" y) u0 V9 j0 N1 ]2 k$ A; v m_internetexplorer.CreateDispatch();; p. ~5 i# Q- M! n
5.在程序中指定URL地址后进行打开WEB页,如下代码:% a* `0 F0 `% g
VARIANT vInfo;
! [& \5 z* Y2 D7 b9 | vInfo.vt=VT_EMPTY;
' l5 R0 h* Y7 S3 G7 s: I6 e m_internetexplorer.Navigate("地址",&vInfo,&vInfo,&vInfo,&vInfo);* L. H8 l) y3 f7 y2 @# |$ W
m_internetexploret.SetVisible(TRUE);4 b0 W3 y7 k% i( N
. Q Y! ^$ F! W$ I, U$ B4 R
备注:还可以使用插入控件的方式来控制IE的,只需要几步就可以了,如下:5 V- v4 \: D1 L
1.在VC中插入WebBrowser控件,并产生相应的包装类
1 y6 w5 R! G: p2.声明一个类变量,可用ClassWizard的变量映射来进行。0 Y/ H$ V- Z, k! \) j2 l) x# I
3.在程序中指定URL地址后进行打开WEB页,如下代码:/ T+ k2 y& W# W% h
VARIANT vInfo;3 g* Z, G8 y/ @0 _0 K; {0 s
vInfo.vt=VT_EMPTY;7 Q8 ?! g' j4 X! R% I9 h
m_internetexplorer.Navigate("地址",&vInfo,&vInfo,&vInfo,&vInfo);
3 o; W/ g- K. K V/ Q% i/ O m_internetexploret.SetVisible(TRUE);$ [! @$ [$ {4 D- _* w& C7 e& ?
/ R) z/ V( A# o5 R9 A
#import方式:
5 T0 E) f2 w- j9 k4 t* x$ @2 R' F; ?6 S8 d" i
1.使用import导入类,在你的类的头文件加入以下代码:
+ F3 h8 F9 E N( `. S H+ j #import "c:\winnt\system32\shdocvw.dll" rename ("tagREADYSTATE","tagIEREADYSTATE") q9 Y+ t |/ w( B; M
using namespace SHDocvw;
* R% p. d& c0 O7 ? ~' z: U2.声明一个类变量:IWebBrowserAppPtr m_internetexplorer;
2 s0 \ A+ ^) S L6 ^+ ]3.在类的构造函数中调用COleDispathDrive::CreateDispatch()函数,加载服务器,如下代码:8 l0 e; q9 k0 ?6 M
m_internetexplorer->CreateInstance("InternetExplorer.Application.1";
3 [) N$ c6 j' V* X3 |) H4.在程序中指定URL地址后进行打开WEB页,如下代码:7 N6 _& c: B* ]0 `1 O% e
VARIANT vInfo;6 p" U' s& e' O* e( l& a) d
vInfo.vt=VT_EMPTY;
, V! L5 ~6 O# c; `: B1 r m_internetexplorer->Navigate("地址",&vInfo,&vInfo,&vInfo,&vInfo);' _$ R/ S8 t& |7 {) D" U" ~0 ?+ e
m_internetexploret-> utVisible(TRUE);
9 ? A) t& r+ T' r
( h% p5 X: }! Q0 l2 S以上是从《应用Visual Studio 6.0》书上摘下来的,本人没有测试过! |
|