|
在VC中使用WebBrowser控件的两方法
0 {5 h, r& i! d4 c6 A( A, Z3 g/ z% v/ q
9 v) I( V, |: w+ L在VC中使用WebBrowser控件的两方法8 C0 Z$ q" e6 H0 o% R
黄森堂(vcmfc)著
4 m: E* o& T5 ^1 k3 c9 ^8 e4 q- r7 [/ H- J: z) R+ y
ClassWizard方式:3 c0 \7 P, h. m' H1 R& N6 J/ Z
- }; p: v& O. c0 ~* ]0 z) d K
1.创建包装类:View->ClassWizard->Add Class->Form a Type Library->C:\winnt\system32\shdocvw.dll->只选择IWebBrowserApp类->OK->OK: U1 M9 I8 {1 w7 D3 C( K$ J
2.声明一个类变量:IWebBrowserApp m_internetexplorer;,并包含刚才的头文件(xxx.h)8 C2 h/ P4 b2 W+ ^9 D- w
3.在类的构造函数中调用COleDispathDrive::CreateDispatch()函数,加载服务器,如下代码:
% c: J+ P( J3 d m_internetexplorer.CreateDispatch("InternetExplorer.Application.1";
( d/ |. S- ]7 {& U) X4.在类的析构函数中调用COleDispathDrive::ReleaseDispatch()函数,加载服务器,如下代码:
2 s: m8 [8 ?# l/ j: d1 I, X m_internetexplorer.CreateDispatch();2 u, p: y7 t2 U* Q2 s/ E( n
5.在程序中指定URL地址后进行打开WEB页,如下代码:
1 C% Y# }" B) {2 H VARIANT vInfo;
+ Z; S% ~6 R3 q% u$ Z" I0 l vInfo.vt=VT_EMPTY;
: t% e5 @& w6 ]' s5 H" B m_internetexplorer.Navigate("地址",&vInfo,&vInfo,&vInfo,&vInfo);
- r) r- N2 d( O! n2 F+ y m_internetexploret.SetVisible(TRUE);
% h% |* h: F* Y7 w. Y
$ @, K( ] ~. N1 r( ~2 c备注:还可以使用插入控件的方式来控制IE的,只需要几步就可以了,如下:" j% J" r$ s$ Q `* O8 N [
1.在VC中插入WebBrowser控件,并产生相应的包装类9 a- ~7 E6 \. u
2.声明一个类变量,可用ClassWizard的变量映射来进行。' q# A& Z9 A9 y* h0 W: {! r
3.在程序中指定URL地址后进行打开WEB页,如下代码:
# t. J& I8 ]3 J# [# L VARIANT vInfo;% [. |8 {: U+ w1 G$ o
vInfo.vt=VT_EMPTY;
7 Q' J" U' [4 V T m_internetexplorer.Navigate("地址",&vInfo,&vInfo,&vInfo,&vInfo);$ O! \6 x$ b2 ~: ^
m_internetexploret.SetVisible(TRUE);: j F h/ K0 s. s% N `, B* o
_8 j5 S7 N# T* f
#import方式:
: V5 }$ K) _ u& K3 n; j
9 [! @1 X% A# P" l! r8 K; N1.使用import导入类,在你的类的头文件加入以下代码:' {) ~, s7 [. z9 p, f" {% N f
#import "c:\winnt\system32\shdocvw.dll" rename ("tagREADYSTATE","tagIEREADYSTATE"$ w# B5 Q: j9 ? F' ?7 W1 _+ I, Z& A2 j
using namespace SHDocvw;* l% d. x( H6 T: `+ R
2.声明一个类变量:IWebBrowserAppPtr m_internetexplorer;
& v- F: q9 b! O3 ]' F5 ]3.在类的构造函数中调用COleDispathDrive::CreateDispatch()函数,加载服务器,如下代码:
! b9 F% c8 C0 P' d6 L7 a- Q m_internetexplorer->CreateInstance("InternetExplorer.Application.1";5 U( e+ R5 c1 w" [% P
4.在程序中指定URL地址后进行打开WEB页,如下代码:9 B& n: x( s0 B9 C1 |: ^
VARIANT vInfo;( H- j( p( u/ |5 J2 w2 I
vInfo.vt=VT_EMPTY;4 V6 a+ I/ t0 A, ~& \
m_internetexplorer->Navigate("地址",&vInfo,&vInfo,&vInfo,&vInfo);! R9 k; M: [' ]# k+ P, m
m_internetexploret-> utVisible(TRUE);
/ S3 m- Q7 g% M
- k- I0 f, ]5 z2 U8 Y0 |0 q以上是从《应用Visual Studio 6.0》书上摘下来的,本人没有测试过! |
|