在MFC对象之间的关系

为了帮助在透视图将文档/视图创建过程,请考虑正在运行的程序:文档、框架窗口用于包含视图和视图与文档。

  • 文档保留视图中列出该文档和指针来创建文档的文档模板。

  • 视图将指向其文档并为其父级框架窗口的子级。

  • 文档框架窗口将指向其当前活动视图。

  • 文档模板保留列出其打开文档。

  • 应用程序保留列出其文档模板。

  • 窗口记录所有打开窗口,以便它可以将消息发送到它们。

这些关系生成期间文档/视图创建。下表显示了正在运行的程序的对象如何访问其他对象。所有对象可以获取指向应用程序对象通过调用全局函数 AfxGetApp

获取对在应用程序中的其他对象

从对象

如何访问其他对象

Document

指向文档的视图列表的访问的使用 GetFirstViewPositionGetNextView

调用 GetDocTemplate 获取文档模板。

视图

调用 GetDocument 获取文档。

调用 GetParentFrame 获取框架窗口。

文档框架窗口

调用 GetActiveView 获取当前视图。

调用 GetActiveDocument 获取文档附加到当前视图。

MDI 框架窗口

调用 MDIGetActive 获取当前活动的 CMDIChildWnd

通常,框架窗口有一个视图,但是,有时,在拆分窗口,同一框架窗口包含多个视图。框架窗口保留的指针为当前活动的视图,指针,活动后,更新另一个视图。

说明说明

指针到主框架窗口在应用程序对象的 m_pMainWnd 成员变量存储。为 OnFileNew 的调用在您的 CWinAppInitInstance 成员函数的重写设置您的 m_pMainWnd 。如果不调用 OnFileNew,必须在 InitInstance 的值。(SDI COM 组件 (服务器) 应用程序不能设置变量,如果 /Embedding 命令行中。)请注意 m_pMainWnd 现在是类 CWinThread 的成员 (而不是 CWinApp

请参见

概念

文档模板,而且文档/视图创建过程

文档模板创建

文档/视图创建

创建新文档, Windows和视图