折腾了几下,找了很多资料,试了几次终于搞定了。。原来这么简单。。
1.要创建子VIEW只需要在对应事件里执行以下代码就行了:
CMultiDocTemplate* pDocTemplate;
pDocTemplate = new CMultiDocTemplate(IDR_HOMERTYPE, //这个是图标,出现在窗口左上的
RUNTIME_CLASS(CHomerDoc),//DOC类
RUNTIME_CLASS(CChildFrame), // 自定义 MDI 子框架
RUNTIME_CLASS(CProductInputView)); //自己的界面
AfxGetApp()->AddDocTemplate(pDocTemplate);
// m_pBaseTemplate=pDocTemplate;
pDocTemplate->OpenDocumentFile(NULL);
2.第二种解决方法
if(m_pInput!=NULL)
{
m_pInput->MDIActivate();
return;
}
m_pInput=new CChildFrame();
CCreateContext context;
context.m_pNewViewClass=RUNTIME_CLASS(CProductView);
if(!m_pInput->LoadFrame(IDI_ICON1,WS_MAXIMIZE|WS_OVERLAPPEDWINDOW,this,&context))
return;
m_pInput->ShowWindow(SW_MAXIMIZE);
m_pInput->InitialUpdateFrame(NULL,true);
如果用这样的话,有点延迟,不知道为什么显示出界面之前会显示一片白屏
默认代码是在CMainFrame中,当然也可以写进App中,以后陆续记录中。。