CHtmlView当前浏览器打开新窗口
来源:互联网 发布:音频后期制作软件 编辑:程序博客网 时间:2024/06/07 10:07
在自己编写的浏览器软件中,对于在新窗口打开的页面默认调用系统默认浏览器打开,而不是在当前浏览器中打开,以下在MDI中调用OnNewWindow2实现在自己的浏览器中新窗口打开,原理即是修改OnNewWindow2中参数LPDISPATCH* ppDisp的值,实现浏览器的重定向.
(1)声明自定义消息WM_NEWURL,我的声明为#define WM_NEWURL WM_USER+104
(2)重载OnNewWindow2函数,往MainFrame发打开新窗口消息
void CfyshowView::OnNewWindow2(LPDISPATCH* ppDisp, BOOL* Cancel){::SendMessage(AfxGetMainWnd()->m_hWnd,WM_NEWURL,(WPARAM)ppDisp,NULL);*Cancel=TRUE;CHtmlView::OnNewWindow2(ppDisp, Cancel);}
(3)在CMainFrame中映射消息WM_NEWURL,实现打开新窗口,并对LPDISPATCH* ppDisp进行重定向.
LRESULT CMainFrame::OnNewURL(WPARAM wParam,LPARAM lParam){LPDISPATCH* ppDispatch=(LPDISPATCH*)wParam;SendMessage(WM_COMMAND, ID_FILE_NEW, 0);CChildFrame* pChildFrame = (CChildFrame*)GetActiveFrame();*ppDispatch=((CxxxxView*)pChildFrame->GetActiveView())->GetApplication();return 0;}
如果要实现在当前窗口打开新文档,不弹出新窗口,则需要在当前HtmlView下新建一个隐藏HtmlView,在当前OnNewWindow2中重定向到隐藏的HtmlView,再在隐藏的HtmlView中重定向回来(原理是这样但没测试过,本来在OnNewWindow2中直接重定向到当前窗口但无反应,似乎需要重写向至新实例).
- CHtmlView当前浏览器打开新窗口
- 【win32 app调用html方法】 CHtmlView当前浏览器打开新窗口--我看完之后感觉是 html当中的信息映射的处理方法
- 打开浏览器新窗口
- Chtmlview中类OnNewWindow2打开新窗口如何置顶端显示
- js打开新窗口,浏览器禁止!
- WinFrom 打开新窗口关闭当前窗口
- 使用你自己的浏览器打开新窗口
- 使用你自己的浏览器打开新窗口
- IE浏览器不能打开新窗口的解决办法
- JS 浏览器打开新窗口, 非tab
- 浏览器拦截新窗口打开的问题
- 打开一个新窗口关闭当前的窗口的解决办法!
- 打开新窗口并关闭当前的窗口的实现办法
- ASP.NET关闭当前窗口同时打开一个新窗口
- JS 打开新窗口没有工具栏 地址栏,同时关闭当前窗口
- ASP.NET关闭当前窗口同时打开一个新窗口
- 打开新窗口并关闭当前的窗口的实现办法
- JavaScript:JS打开一个新窗口,关闭当前窗口
- Oracle内存全面分析(4)
- 道关于敏感词过滤算法的面试题
- Oracle内存全面分析(5)
- XML规范化(二)
- Fireworks(FW)制作圆角矩形
- CHtmlView当前浏览器打开新窗口
- Oracle内存全面分析(6)
- 自学JAVA的心得
- Oracle内存全面分析(7)
- POJ1013
- Oracle内存全面分析(8)
- servlet生命周期
- POJ1008
- Oracle内存全面分析(9)