|
|
在VC中使用WebBrowser控件的两方法9 z% r& [6 ? J" q1 R% a
- B# r6 R" w* o+ ?6 H * e& [. P( M( ?; ? E3 u
在VC中使用WebBrowser控件的两方法: V& ] g/ {2 o# F$ N2 a
黄森堂(vcmfc)著( t: g0 g, p$ \( a
$ g2 c5 R: c/ z- TClassWizard方式:
' F/ @- x1 R2 M& [7 G2 e
* ?) x% D9 V: O7 z# L1.创建包装类:View->ClassWizard->Add Class->Form a Type Library->C:\winnt\system32\shdocvw.dll->只选择IWebBrowserApp类->OK->OK
" V0 W O4 `1 b- n6 v6 k" {2.声明一个类变量:IWebBrowserApp m_internetexplorer;,并包含刚才的头文件(xxx.h)
) Z5 s) ~8 ?) D3.在类的构造函数中调用COleDispathDrive::CreateDispatch()函数,加载服务器,如下代码:
' c8 h( p5 j8 J& V m_internetexplorer.CreateDispatch("InternetExplorer.Application.1";1 ~* m( n7 h: A5 V. ^6 h* M$ z3 K
4.在类的析构函数中调用COleDispathDrive::ReleaseDispatch()函数,加载服务器,如下代码:
, R5 d/ g6 e7 U( @8 H m_internetexplorer.CreateDispatch();; F1 n8 s6 i- t. G, c6 ? |
5.在程序中指定URL地址后进行打开WEB页,如下代码:
& s* [6 }( }, ~, X% g4 Q VARIANT vInfo;2 ?" k* X+ t2 U& N, D# f8 o
vInfo.vt=VT_EMPTY;4 e! r/ _& x, U
m_internetexplorer.Navigate("地址",&vInfo,&vInfo,&vInfo,&vInfo);* Y5 O1 N5 v( h7 ^3 W5 U! C
m_internetexploret.SetVisible(TRUE);
6 U/ f& Q1 ~, \" O7 i- E- R, g, M6 J4 [
备注:还可以使用插入控件的方式来控制IE的,只需要几步就可以了,如下:# B# l1 u: o. ?# [1 a
1.在VC中插入WebBrowser控件,并产生相应的包装类
/ q; [; C6 E- e. C& j! Q1 u2.声明一个类变量,可用ClassWizard的变量映射来进行。
8 c$ Z+ G4 V- l* p3.在程序中指定URL地址后进行打开WEB页,如下代码:9 N& @) y) q4 P' `1 y5 ^/ p
VARIANT vInfo;
! a! J: L, \2 \2 i% h3 f2 } vInfo.vt=VT_EMPTY;$ t7 D, T$ C$ Z( P2 f
m_internetexplorer.Navigate("地址",&vInfo,&vInfo,&vInfo,&vInfo); C6 Y& a$ s/ Q( X, u8 m4 i
m_internetexploret.SetVisible(TRUE);
/ R: T) [/ c1 [3 c6 D% n
! G) I* Y/ f5 I) E: i1 [3 E2 ~3 c t#import方式:# O, {1 Y# H" Q, a" \" w9 d/ z+ }! N
6 n9 {+ r& h' ]* f# ?' z1 [% _
1.使用import导入类,在你的类的头文件加入以下代码:
; q& }) T1 E( w0 l! t* e ^ #import "c:\winnt\system32\shdocvw.dll" rename ("tagREADYSTATE","tagIEREADYSTATE"
6 c$ J C/ o' L4 w I using namespace SHDocvw;
& |! @5 T9 ~9 w" g- R2 r2.声明一个类变量:IWebBrowserAppPtr m_internetexplorer;$ P9 ]' A! W7 p: O
3.在类的构造函数中调用COleDispathDrive::CreateDispatch()函数,加载服务器,如下代码:, K, u2 M: b$ F. }5 ~! f
m_internetexplorer->CreateInstance("InternetExplorer.Application.1";
' L. M5 ^& w" A) V A4.在程序中指定URL地址后进行打开WEB页,如下代码:& o p+ G) z( p; c% w; S
VARIANT vInfo;
& p5 u. x0 y9 C' g- ?& p vInfo.vt=VT_EMPTY;
$ M5 D( j: E0 v4 p; c3 s m_internetexplorer->Navigate("地址",&vInfo,&vInfo,&vInfo,&vInfo);
# ?) {! k6 g* ~% h$ Y" C) _ m_internetexploret-> utVisible(TRUE);
7 ~! }# O8 {' }5 h, f. g2 ]7 c) L2 O- `
以上是从《应用Visual Studio 6.0》书上摘下来的,本人没有测试过! |
|