找回密码
 注册
搜索
查看: 4532|回复: 0

在VC中使用WebBrowser控件的两方法

[复制链接]
发表于 2004-1-20 21:23:15 | 显示全部楼层 |阅读模式
在VC中使用WebBrowser控件的两方法
0 g/ [7 q$ x; |: p; O- m
6 |' a% ^3 `3 }  h3 D 
7 A. h: p  h+ x& L& y/ ?' R+ g* X# \在VC中使用WebBrowser控件的两方法" Z: @0 |( L+ X2 s) {
黄森堂(vcmfc)著! Y: b3 i1 U) Z( q4 b/ |# `

) @2 R& z$ v7 j  yClassWizard方式:
0 M! p! l! t1 z  E1 O, M- v
9 O" u& l5 V9 p$ c1.创建包装类:View->ClassWizard->Add Class->Form a Type Library->C:\winnt\system32\shdocvw.dll->只选择IWebBrowserApp类->OK->OK  Q0 @& Q7 `8 k7 Z; I
2.声明一个类变量:IWebBrowserApp m_internetexplorer;,并包含刚才的头文件(xxx.h)
  v1 q3 s$ a8 w; R2 z3.在类的构造函数中调用COleDispathDrive::CreateDispatch()函数,加载服务器,如下代码:
# U% ^$ t3 V1 Z9 n  m_internetexplorer.CreateDispatch("InternetExplorer.Application.1";
8 o8 O7 ^& }; y2 b4.在类的析构函数中调用COleDispathDrive::ReleaseDispatch()函数,加载服务器,如下代码:
4 m0 u, V& Z( g( ^, m1 t) E  m_internetexplorer.CreateDispatch();
$ F6 |) G  Y$ b5 m3 C  }, {5.在程序中指定URL地址后进行打开WEB页,如下代码:
+ l* V+ E) v2 p, w1 ~  _  VARIANT vInfo;; T$ M( R! [. |' [; |9 S9 ^
  vInfo.vt=VT_EMPTY;
6 m, B8 Z9 _- _+ {  m_internetexplorer.Navigate("地址",&vInfo,&vInfo,&vInfo,&vInfo);$ _6 w( |3 a3 r# l* Z
  m_internetexploret.SetVisible(TRUE);) C. C9 Y$ u  @  R3 }6 c1 L

" `5 [0 y! i8 b6 j  `( S0 O备注:还可以使用插入控件的方式来控制IE的,只需要几步就可以了,如下:7 N/ c3 p) M+ b- o( i
1.在VC中插入WebBrowser控件,并产生相应的包装类
, ~8 K. m1 H( `8 i2.声明一个类变量,可用ClassWizard的变量映射来进行。
! J% j7 `" S* X$ K, j' T$ B3.在程序中指定URL地址后进行打开WEB页,如下代码:, x$ ^+ n4 v6 o! P) |
  VARIANT vInfo;: Q/ g) }: ?# r8 B3 C9 D9 o
  vInfo.vt=VT_EMPTY;
4 X0 o. m0 @) |  I/ Z  m_internetexplorer.Navigate("地址",&vInfo,&vInfo,&vInfo,&vInfo);8 M) f' ?  i" Y9 Z/ P
  m_internetexploret.SetVisible(TRUE);
# o3 b) n) B+ O, z8 |) E: w" ^7 b" l) ]9 ?
#import方式:
. W8 p% z- j+ c( C1 \2 p; J. Z9 |% b6 M7 l7 B* W. b
1.使用import导入类,在你的类的头文件加入以下代码:9 Q1 W, M# R0 l: P
  #import "c:\winnt\system32\shdocvw.dll" rename ("tagREADYSTATE","tagIEREADYSTATE"
" q* F" \) X9 `3 d/ K, i) n. B! R- y    using namespace SHDocvw;6 i8 ]8 G) b6 U/ G" {
2.声明一个类变量:IWebBrowserAppPtr m_internetexplorer;9 _5 U9 H3 w/ d
3.在类的构造函数中调用COleDispathDrive::CreateDispatch()函数,加载服务器,如下代码:
& N6 J8 B/ P* N4 W0 I% l+ f( H  m_internetexplorer->CreateInstance("InternetExplorer.Application.1";2 K# E2 }8 \& L5 R, A& @0 }
4.在程序中指定URL地址后进行打开WEB页,如下代码:* c6 r* }8 R. T/ X; b" g
  VARIANT vInfo;
7 e1 O1 V1 A& _+ J/ Z  vInfo.vt=VT_EMPTY;
+ W6 z9 R0 _# @, o7 @; j  m_internetexplorer->Navigate("地址",&vInfo,&vInfo,&vInfo,&vInfo);  A6 H) z8 u" u0 G. H: _+ H3 v6 R
  m_internetexploret->utVisible(TRUE);( L6 m0 o5 a! D4 V9 @& @& D% D

: e# h, n( u4 \: ?* Z* X" y以上是从《应用Visual Studio 6.0》书上摘下来的,本人没有测试过!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|宁德市腾云网络科技有限公司 ( 闽ICP备2022007940号-5|闽公网安备 35092202000206号 )

GMT+8, 2026-8-14 01:10 , Processed in 0.025765 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表