在 MFC(Microsoft Foundation Classes)中,CDocument::AddView 不是 CDocument 类的公共方法。实际上,CDocument 类没有 AddView 这个公共方法。

如果你需要在文档对象中添加视图对象,通常是通过文档-视图架构的机制实现的,而不是直接调用 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