如果你需要在文档对象中添加视图对象,通常是通过文档-视图架构的机制实现的,而不是直接调用 AddView 方法。在 MFC 中,文档对象和视图对象之间的关系是通过文档模板(CDocTemplate)来管理的。
文档模板(CDocTemplate)会关联文档类和视图类,并在创建新文档时创建相应的视图。你可以使用 AddDocTemplate 方法来向应用程序添加文档模板,这样在创建新文档时,相关的视图也会被创建。
以下是一个简单的示例:
// 在应用程序初始化中添加文档模板
BOOL CMyApp::InitInstance()
{
// 创建主窗口框架
CMainFrame* pMainFrame = new CMainFrame;
if (!pMainFrame->LoadFrame(IDR_MAINFRAME))
return FALSE;
m_pMainWnd = pMainFrame;
// 注册文档模板
CMultiDocTemplate* pDocTemplate = new CMultiDocTemplate(
IDR_MyAppTYPE,
RUNTIME_CLASS(CMyDoc),
RUNTIME_CLASS(CChildFrame),
RUNTIME_CLASS(CMyView));
AddDocTemplate(pDocTemplate);
// 其他初始化代码...
return TRUE;
}
在这个例子中,CMyDoc 是你的文档类,CMyView 是你的视图类,CChildFrame 是框架窗口中包含文档视图的子窗口。当应用程序创建新文档时,CDocTemplate 会负责创建相应的视图并将其关联到文档对象上。你通常不需要直接调用 AddView 方法,而是通过文档模板的机制实现文档与视图的关联。
转载请注明出处:http://www.pingtaimeng.com/article/detail/17513/MFC/CDocument