CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  HTML/XML

在用chtmlview自编的多文档浏览器中,如何得到用ie新建窗口的地址

楼主lkjx(tiancai)2001-04-07 13:07:00 在 VC/MFC / HTML/XML 提问

用chtmlview作的多文档浏览器,当网页中要另外打开一个窗口时,总是在ie中打开,  
  如何才能截获消息及地址,使能够在新文档中打开,就像oicq的TB一样 问题点数:20、回复次数:3Top

1 楼111222(www.111222.cn)回复于 2001-04-07 13:53:00 得分 20

重载虚函数OnNewWindow2(把CReaderView换成你的类名)  
   
  virtual   void   OnNewWindow2(LPDISPATCH*   ppDisp,   BOOL*   Cancel);  
   
   
  void   CReaderView::OnNewWindow2(LPDISPATCH*   ppDisp,   BOOL*   Cancel)    
  {  
   
   
  CString   result;  
  CMainFrame*   pmymainframe=(CMainFrame*)AfxGetMainWnd();  
  pmymainframe->SendMessage(WM_COMMAND,ID_FILE_NEW);  
  CMDIChildWnd*   pchild=pmymainframe->MDIGetActive();  
  CReaderView*   pmyhtmlview=(CReaderView*)pchild->GetActiveView();  
  *ppDisp=pmyhtmlview->GetApplication();  
   
  //   Get   a   pointer   to   the   application   object  
          CWinApp*   pApp   =   AfxGetApp();  
   
          //   Get   the   correct   document   template  
          CDocTemplate*   pDocTemplate;  
          POSITION   pos   =   pApp->GetFirstDocTemplatePosition();  
          pDocTemplate   =   pApp->GetNextDocTemplate(pos);  
   
          ASSERT(pDocTemplate);  
   
          //   Create   the   new   frame  
          CFrameWnd*   pNewFrame   =   pDocTemplate->CreateNewFrame(GetDocument(),  
                                                                      (CFrameWnd*)AfxGetMainWnd());  
          ASSERT(pNewFrame);  
   
          //   Activate   the   frame   and   set   its   active   view  
          pDocTemplate->InitialUpdateFrame(pNewFrame,   NULL);  
   
          CReaderView*   pWBVw   =   (CReaderView*)pNewFrame->GetActiveView();  
          ASSERT(pWBVw);  
   
          pWBVw->SetRegisterAsBrowser(TRUE);  
   
          *ppDisp   =   pWBVw->GetApplication();*/  
  CHtmlView::OnNewWindow2(ppDisp,   Cancel);  
  }  
   
   
  Top

2 楼lkjx(tiancai)回复于 2001-04-07 14:53:00 得分 0

谢谢,差不多解决了  
  我把  
  pmymainframe->SendMessage(WM_COMMAND,ID_FILE_NEW);  
  注释掉了  
  否则会多开一个窗口  
  让我再研究研究怎么给分  
           
  Top

3 楼lkjx(tiancai)回复于 2001-04-10 18:51:00 得分 0

才搞明白  
  原来你给了我两种方法  
  怎么不说明白Top

相关问题

  • 自编的CHtmlView浏览器,怎么截获超连接,不让新窗口在IE中打开?
  • IE打开word文档的问题.......
  • 如何能够获取CHtmlView窗口里的文档内容?
  • 如何在框架(CHTMLVIEW为基类)和html文档间相互通信?
  • 能不能在一个CDialog上创建一个CHtmlView,并且不要文档类?
  • 在IE中如何打开一个WORD文档?
  • 怎样用IE调用WORD打开DOC文档?
  • 100求解在IE中显示OFFICE文档
  • 谁有IE Web Control 的帮助文档? 完整版的控件?
  • 急求,怎样在IE中直接打开WORD文档?

关键词

  • 文档
  • creaderview
  • onnewwindow2
  • pmymainframe
  • ppdisp
  • pdoctemplate
  • papp
  • 打开

得分解答快速导航

  • 帖主:lkjx
  • 111222

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo