MFC MDI将第二个视图添加到文档

时间:2019-06-06 14:46:17

标签: c++ mfc

这是我的第一个问题... 我需要帮助,因为我必须在文档中添加第二个视图。 我不知道该怎么办。 我尝试用addView()等等

请问有人可以帮我吗?

PS:对不起我的英语差错

2 个答案:

答案 0 :(得分:1)

来自您的文档类实现:

CFrameWnd* pNewFrame=pDocTemplate->CreateNewFrame(this, NULL);
if (pNewFrame == NULL)  return;     // not created
// Optional - Set icon, if the default isn't OK
pNewFrame->SetIcon((HICON)LoadImage(AfxGetInstanceHandle(),  
    MAKEINTRESOURCE(nIDIcon), IMAGE_ICON, 16,16,LR_SHARED), FALSE);
pDocTemplate->InitialUpdateFrame(pNewFrame,this,TRUE);

pDocTemplate可以从您的new CMultiDocTemplate()派生类的InitInstance()成员中的CWinApp调用中获得(只需存储它即可)。

答案 1 :(得分:0)

您不需要编写任何代码,MFC已经为您完成了。 (单击窗口-新窗口)。这里重写为Document Class的方法。

bool CMyDoc::AddSecondView()
{
  CMDIChildWnd* pActiveChild = ((CMDIFrameWnd*)AfxGetMainWnd())->MDIGetActive();    //

  CDocTemplate* pTemplate = GetDocTemplate();
  ASSERT_VALID(pTemplate);
  CFrameWnd* pFrame = pTemplate->CreateNewFrame(this, pActiveChild);
  if (pFrame == NULL)
  {
    return false;     
  }

  pTemplate->InitialUpdateFrame(pFrame, this);
  return true;
}