下图概述了文档、视图和框架窗口的创建过程。 其他侧重于参与对象的文章提供了更多详细信息。

完成此过程后,合作对象存在并存储彼此的指针。 下图显示了创建对象的顺序。 您可以遵循各图之间的顺序。

创建文档时的顺序

创建框架窗口中的序列

创建视图时的顺序

有关框架如何初始化新文档、视图和框架窗口对象的信息,请参阅 MFC 库参考中的 CDocument、CView、CFrameWnd、CMDIFrameWnd 和 CMDIChildWnd 类。 另请参阅技术说明 22,其中进一步解释了关于“文件”菜单中“新建”和“打开”项的框架标准命令的创建和初始化过程。

初始化你在这些类中添加的内容

上面各图还建议了您可重写成员函数以初始化应用程序对象的位置。 视图类中 OnInitialUpdate 的重写是最适合初始化视图的位置。 OnInitialUpdate 调用会在创建框架窗口后立即发生,此时框架窗口内的视图被附加到其文档。 例如,如果视图是滚动视图(派生自 CScrollView 而不是 CView),则应根据替代中的 OnInitialUpdate 文档大小设置视图大小。 (有关此过程,请参阅 CScrollView 类的说明。)可替代 CDocument 成员函数 OnNewDocument 和 OnOpenDocument 来提供特定于应用程序的文档初始化。 通常,您必须重写二者,因为文档可通过两种方式创建。

在大多数情况下,您的重写应调用基类版本。 有关详细信息,请参阅 MFC 库参考中的 CDocument、 CView、 CFrameWnd 和 CWinApp 类的命名成员函数。

另请参阅

文档模板和文档/视图创建过程

文档模板创建

文档/视图创建

MFC 对象之间的关系