|
|
在VC中使用WebBrowser控件的两方法
' W: y) D T/ D9 b% b* a
& w1 a& D* b$ K- u% ^ - \* n2 ?/ J T1 Q; H
在VC中使用WebBrowser控件的两方法
G+ x( P+ } W) X黄森堂(vcmfc)著
$ H9 c* A5 G! k( A! W
t }6 |$ _ \ClassWizard方式:$ b" A+ F) r6 ` T# a7 g
" j" m) n5 r. c( S& D
1.创建包装类:View->ClassWizard->Add Class->Form a Type Library->C:\winnt\system32\shdocvw.dll->只选择IWebBrowserApp类->OK->OK( l" _- H+ ~5 ~# O
2.声明一个类变量:IWebBrowserApp m_internetexplorer;,并包含刚才的头文件(xxx.h)' B$ P& Z# B' G3 [. i* E1 c: d/ S
3.在类的构造函数中调用COleDispathDrive::CreateDispatch()函数,加载服务器,如下代码:6 J9 D3 i K6 \' x! P: |
m_internetexplorer.CreateDispatch("InternetExplorer.Application.1"; F, s4 \; R) w
4.在类的析构函数中调用COleDispathDrive::ReleaseDispatch()函数,加载服务器,如下代码:% n! S' N# U2 f+ l2 q e: z
m_internetexplorer.CreateDispatch();
) h5 r2 d4 P& _ ?! t5.在程序中指定URL地址后进行打开WEB页,如下代码:7 K7 J' N: j8 u" T. W- F' j
VARIANT vInfo;
2 _* _3 n* A* @( [ vInfo.vt=VT_EMPTY;
. X+ {' X$ v/ A/ V6 j1 ~2 A$ L8 j4 U m_internetexplorer.Navigate("地址",&vInfo,&vInfo,&vInfo,&vInfo);
8 r8 M8 H/ R2 N/ X m_internetexploret.SetVisible(TRUE);
* {) G* j9 k- U' \ _5 g! ]$ J( Y, j3 k7 U/ Q X
备注:还可以使用插入控件的方式来控制IE的,只需要几步就可以了,如下:
! S5 U0 l# j2 H1 _' f1.在VC中插入WebBrowser控件,并产生相应的包装类
. ~: N, {1 {7 ]5 X2.声明一个类变量,可用ClassWizard的变量映射来进行。" M( G8 r. A- H
3.在程序中指定URL地址后进行打开WEB页,如下代码:
: e3 A& j6 R& Y* D: x VARIANT vInfo;
( w, S0 t4 D% T* l( D vInfo.vt=VT_EMPTY;
n8 G" W. Y2 x" c- }9 o* { m_internetexplorer.Navigate("地址",&vInfo,&vInfo,&vInfo,&vInfo);' E. n# h- t6 W3 k# U' G
m_internetexploret.SetVisible(TRUE);
% O) t' L- T8 N( h g4 [+ v* t' S: Y a7 H( G) F
#import方式:* L+ I6 S$ Z9 g. U' A
, d3 `8 |/ S+ x6 _! E- s( n
1.使用import导入类,在你的类的头文件加入以下代码:
+ h, c- Q- f& q$ \' K% ^ #import "c:\winnt\system32\shdocvw.dll" rename ("tagREADYSTATE","tagIEREADYSTATE"5 I& w9 @ z$ K
using namespace SHDocvw;1 |4 p! W9 s7 ]1 N( C: l& s
2.声明一个类变量:IWebBrowserAppPtr m_internetexplorer;
+ a) F* b: I6 i# f, H" A3.在类的构造函数中调用COleDispathDrive::CreateDispatch()函数,加载服务器,如下代码:4 k' ^2 n" Y$ Q
m_internetexplorer->CreateInstance("InternetExplorer.Application.1";
- X6 \- j" t9 G$ E% }) K/ M, U4.在程序中指定URL地址后进行打开WEB页,如下代码:: j) T$ d. I% f1 T5 k
VARIANT vInfo;5 H6 ?, J8 H' \% V" H' ^. X) c/ H
vInfo.vt=VT_EMPTY;
" U% m2 s- p9 h c% @ m_internetexplorer->Navigate("地址",&vInfo,&vInfo,&vInfo,&vInfo);+ f! p' c; \. @) c
m_internetexploret-> utVisible(TRUE);
8 X0 x. H. V$ z) y$ h3 K! G/ ]$ Y% V. ?( o/ k1 t) Z
以上是从《应用Visual Studio 6.0》书上摘下来的,本人没有测试过! |
|