C++ C++;MFC MDI如何更改基于活动文档显示的类视图

C++ C++;MFC MDI如何更改基于活动文档显示的类视图,c++,mfc,document,mdi,C++,Mfc,Document,Mdi,我正在开发一个MDI应用程序,它有一个对象浏览器(CClassView),必须根据激活的“文档”更改显示内容 PS:我的搜索都没有成功。这不是我所期望的,但这里有一个可能的解决方案: 问:如何在我的应用程序中的任何位置获取活动文档 答:有几种方法,一种是先获取活动帧 然后调用CFrameWnd::GetActiveDocument。。。在MDI应用程序中,我们 必须另外获取活动MDI子帧 此示例代码可能会建议其他(甚至更好)备选方案: 只有一个问题。据我所知,我的项目中没有CDocument类

我正在开发一个MDI应用程序,它有一个对象浏览器(CClassView),必须根据激活的“文档”更改显示内容


PS:我的搜索都没有成功。

这不是我所期望的,但这里有一个可能的解决方案:

问:如何在我的应用程序中的任何位置获取活动文档

答:有几种方法,一种是先获取活动帧 然后调用CFrameWnd::GetActiveDocument。。。在MDI应用程序中,我们 必须另外获取活动MDI子帧

此示例代码可能会建议其他(甚至更好)备选方案:


只有一个问题。据我所知,我的项目中没有
CDocument
类。我有
CMyApp:CWinAppEx
CChildFrame:CMDIChildWndEx
CMainFrame:CMDIFrameWndEx
。有什么我遗漏的吗?
CDocument* GetMDIActiveDocument()
{
    CDocument* pDoc = NULL;

    CWnd* pWndMain = AfxGetMainWnd();
    ASSERT(pWndMain);
    ASSERT(pWndMain->IsKindOf(RUNTIME_CLASS(CMDIFrameWnd))); // Not an MDI app.

    CFrameWnd* pFrame = ((CMDIFrameWnd*)pWndMain)->MDIGetActive();
    if(NULL != pFrame)
    {
        pDoc = pFrame->GetActiveDocument(); // get the active document
    }
    return pDoc;
}