我需要在一个应用程序中创建两种不同类型的窗口,一种是MDI,另一种是SDI。我试图用文档/视图创建MDI应用程序,并放入一些代码来创建SDI窗口,但是失败了。似乎MDI和SDI是用不同的方法创建的,我不知道如何找到一种解决方法。有人知道最好的方法吗?
经过一些尝试,我成功地创建了SDI和MDI窗口,但是我不确定这是否是正确的方法。这就是我所做的
使用Visual Studio的AppWizard创建一个SDI应用程序,当用户单击SDI Frame的菜单时,我放置了以下代码来创建MDI窗口
CSDIFrame::OnClickCreateMDI()
{
CFrameWnd* pFrameMDI = new TestMDIFrameWnd;
CCreateContext Context;
Context.m_pNewViewClass = RUNTIME_CLASS(CTestMDIView);
if (!pFrameMDI->LoadFrame(IDR_TESTMDIFRAME, WS_OVERLAPPEDWINDOW, NULL, &Context)) {
AfxMessageBox("LoadFrame failed");
return FALSE;
}
pFrameMDI->InitialUpdateFrame(NULL, TRUE);
}
这是正确的方法吗?是否可以像使用AppWizard创建此MDI窗口一样,在此新创建的MDI窗口上使用所有MFC编程方法?是否会有任何限制(例如某些消息无法发送到此MDI窗口...。)
谢谢。