IE编程技巧大全(一)

王朝vc·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

IE编程技巧大全

黄森堂著

1.实现Ctrl+C:

ExecWB(OLECMDID_COPY,OLECMDEXECOPT_DONTPROMPTUSER,NULL,NULL);

2.实现Ctrl+V:

ExecWB(OLECMDID_PASTE,OLECMDEXECOPT_DONTPROMPTUSER,NULL,NULL);

3.实现查找:

MSHTML::IHTMLDocument2Ptr pdoc;

_variant_t varinput,varoutput;

IOleCommandTarget *pCmd;

HRESULT hr;

pdoc=GetHtmlDocument();

hr=pdoc.QueryInterface(IID_IOleCommandTarget,&pCmd);

if(SUCCEEDED(hr))

{

varinput=_T("");

hr=pCmd->Exec(&CGID_MSHTML,IDM_FIND,OLECMDEXECOPT_DODEFAULT,&varinput,&varoutput);

}

4.实现显示源程序:

MSHTML::IHTMLDocument2Ptr pdoc;

_variant_t varinput,varoutput;

IOleCommandTarget *pCmd;

HRESULT hr;

pdoc=GetHtmlDocument();

hr=pdoc.QueryInterface(IID_IOleCommandTarget,&pCmd);

if(SUCCEEDED(hr))

{

varinput=_T("");

hr=pCmd->Exec(&CGID_MSHTML,IDM_VIEWSOURCE,OLECMDEXECOPT_DODEFAULT,&varinput,&varoutput);

}

5.实现显示Internet选项:

MSHTML::IHTMLDocument2Ptr pdoc;

_variant_t varinput,varoutput;

IOleCommandTarget *pCmd;

HRESULT hr;

pdoc=GetHtmlDocument();

hr=pdoc.QueryInterface(IID_IOleCommandTarget,&pCmd);

if(SUCCEEDED(hr))

{

varinput=_T("");

hr=pCmd->Exec(&CGID_MSHTML,IDM_OPTIONS,OLECMDEXECOPT_DODEFAULT,&varinput,&varoutput);

}

6.下载事件说明:

OnDownloadBegin <--开始下载

OnDownloadComplete <--下载结束

OnDocumentComplete <--页面下载完毕

对于每个HTML页面,顺序都是如此.如果是Frame或IFrame的文件都会当成HTML页面处理.也就是说如果一个页面中有3个IFrame,那么总共会触发4次BeforeNavigate2事件.

对于每个连接且需要显示出来的二进制文件(如*.gif,*.bmp,*.jpg...)都会触发一个DownloadBegin和DownloadComplete事件.

那我们怎么判断是否全部下载完毕呢?嘿嘿,TWebBrowser控件不是有一个Busy属性的吗?

7.点击链接产生的事件:

OnBeforeNavigate2 <--开始链接时会触发此事件

OnNavigateComplete2 <--成功的链接到此网页(以后才会有上面的事件)

8.包括相关文件:

#include <mshtmhst.h>

#include <mshtmcid.h>//这里面有很多实现IE功能的XXID,请看一看!

#import <mshtml.tlb>

请充分发挥资料管理器的查找功能呀!,这都不会用还学VC!

先告一个段落,下次再来。

感谢以下网友:edyang

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航