C++-CHtmlView中在OnNewWindow2生成新窗口的问题

C++-CHtmlView中在OnNewWindow2生成新窗口的问题

虐人心 发布于 2017-09-30 字数 736 浏览 1319 回复 2

在用CHtmlView现实的自定义浏览器中,重载OnNewWindow2,函数体如下时:

   CWinApp* pApp = AfxGetApp();
CDocTemplate* pDocTemplate;
POSITION pos = pApp->GetFirstDocTemplatePosition();
pDocTemplate = pApp->GetNextDocTemplate(pos);

ASSERT(pDocTemplate);

CFrameWnd* pNewFrame = pDocTemplate->CreateNewFrame(GetDocument(),
(CFrameWnd*)AfxGetMainWnd());
ASSERT(pNewFrame);

pDocTemplate->InitialUpdateFrame(pNewFrame, NULL);
CMfcieView* pWBVw = (CMfcieView*)pNewFrame->GetActiveView();
ASSERT(pWBVw);
pWBVw->SetRegisterAsBrowser(TRUE);
*ppDisp = pWBVw->GetApplication();

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

虐人心 2017-10-10 2 楼

这段代码中CFrameWnd* pNewFrame = pDocTemplate->CreateNewFrame(GetDocument(),
(CFrameWnd*)AfxGetMainWnd());
ASSERT(pNewFrame);
将GetDocument(),改为pDocTemplate->CreateNewDOC(),就行了!

灵芸 2017-10-02 1 楼

IE6是自动启动一个新进程出来的,我对MFC不太熟,API的话是ShellExecute