|
|
在VC中使用WebBrowser控件的两方法* l/ g4 ]+ D, ^8 t4 h/ u! T8 J
! A6 D3 m' | y' A* `' [0 y8 { ( X, ~* u- T8 Z: ?2 H+ `% L
在VC中使用WebBrowser控件的两方法
7 n! R* H9 C3 D5 O H: {5 Z4 M黄森堂(vcmfc)著
8 E5 A( v/ ?! d$ R8 ~3 V7 o
. ?- w# G9 s- p$ UClassWizard方式:9 ?2 X n5 S3 n
3 p {& D' j; B. O3 s( ]- A
1.创建包装类:View->ClassWizard->Add Class->Form a Type Library->C:\winnt\system32\shdocvw.dll->只选择IWebBrowserApp类->OK->OK
+ X: L6 d0 f& o. ?4 o U/ L. d2.声明一个类变量:IWebBrowserApp m_internetexplorer;,并包含刚才的头文件(xxx.h)
6 T# B8 M" I' L" P' x3 j. M9 u( U" N3.在类的构造函数中调用COleDispathDrive::CreateDispatch()函数,加载服务器,如下代码:4 X$ s- H5 k6 L7 [# ~4 |- ^$ q4 A
m_internetexplorer.CreateDispatch("InternetExplorer.Application.1";; c# q( W% I m
4.在类的析构函数中调用COleDispathDrive::ReleaseDispatch()函数,加载服务器,如下代码:) N% z( _# ? i+ v) k, P
m_internetexplorer.CreateDispatch();
4 R2 P+ A) V) f& i; r8 u7 R5.在程序中指定URL地址后进行打开WEB页,如下代码:5 ~4 Z1 X0 S. F/ \
VARIANT vInfo;
8 c3 T% U% R' _, }, y vInfo.vt=VT_EMPTY;
8 P) Z- a' Y! k h+ Z$ O m_internetexplorer.Navigate("地址",&vInfo,&vInfo,&vInfo,&vInfo);$ {$ h, i8 E; t" o9 \. y; g1 E f
m_internetexploret.SetVisible(TRUE);
% ~9 \( h# t* m! J8 V0 H; o, o4 d8 e: X, b9 u3 W) X
备注:还可以使用插入控件的方式来控制IE的,只需要几步就可以了,如下:
; U. ~: O6 R% S- i( { p7 w1.在VC中插入WebBrowser控件,并产生相应的包装类: c p p0 s7 H
2.声明一个类变量,可用ClassWizard的变量映射来进行。
0 l# m+ M' M3 e1 ^" Q0 ~3.在程序中指定URL地址后进行打开WEB页,如下代码:
; t9 c4 [: u* P VARIANT vInfo;9 ]' f. G% a) e4 P
vInfo.vt=VT_EMPTY;6 x% M( _2 W7 `. |
m_internetexplorer.Navigate("地址",&vInfo,&vInfo,&vInfo,&vInfo);
( p5 K/ l4 y9 S! Z) t7 Z" O m_internetexploret.SetVisible(TRUE);
; \# D, _7 A) |' j
) B# E6 y/ w% n$ ?$ U#import方式:5 k2 h% c$ s1 r, K% c, ~
( d I3 ^" D8 w/ v( \0 E1.使用import导入类,在你的类的头文件加入以下代码:0 \8 t$ j8 A+ C# C0 A/ f$ B
#import "c:\winnt\system32\shdocvw.dll" rename ("tagREADYSTATE","tagIEREADYSTATE"9 s% X6 ^6 Y$ D6 I4 a2 \3 e
using namespace SHDocvw;3 f1 Q: A" U- }* j
2.声明一个类变量:IWebBrowserAppPtr m_internetexplorer;
3 V: ]* {! f( D: @+ J3.在类的构造函数中调用COleDispathDrive::CreateDispatch()函数,加载服务器,如下代码:
7 h- N/ Q2 j; A4 I, _ m_internetexplorer->CreateInstance("InternetExplorer.Application.1";1 x! d* o4 x2 N2 z! B- L
4.在程序中指定URL地址后进行打开WEB页,如下代码:
0 j0 D, d( X6 M0 R) `# f+ C VARIANT vInfo;
+ N4 L) o) Q6 V) ~ vInfo.vt=VT_EMPTY;
. ~! [2 i+ H$ e- c m_internetexplorer->Navigate("地址",&vInfo,&vInfo,&vInfo,&vInfo);
) U& c- O2 M3 v" S0 J& V" a m_internetexploret-> utVisible(TRUE);
4 ]1 R" S2 @5 B1 l5 R6 U4 J- ~6 n2 a# V" F
以上是从《应用Visual Studio 6.0》书上摘下来的,本人没有测试过! |
|