模拟ie编辑->查找功能,请帮帮忙.着急啊

解决方案 »

  1.   

    尽点绵薄之力,希望能够有所帮助,阿弥陀佛!
    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>
      

  2.   

    用你自己的程序也是一样的,你通过webbrowser控件,来获取IWebBrowser2接口,IHtmldocument接口再实现
      

  3.   

    实现类似遨游查找高亮功能:MSHTML Editing Reference
    http://msdn.microsoft.com/en-us/library/aa703587(VS.85).aspx
    IHighlightSegment, IHighlightRenderingServices, IMarkupServices, IMarkupPointer等
    选中查找的内容,再高亮查找的内容