下图概述了文档、视图和框架窗口的创建过程。 其他侧重于参与对象的文章提供了更多详细信息。
完成此过程后,合作对象存在并存储彼此的指针。 下图显示了创建对象的顺序。 您可以遵循各图之间的顺序。
创建文档时的顺序
创建框架窗口中的序列
创建视图时的顺序
有关框架如何初始化新文档、视图和框架窗口对象的信息,请参阅 MFC 库参考中的 CDocument、CView、CFrameWnd、CMDIFrameWnd 和 CMDIChildWnd 类。 另请参阅技术说明 22,其中进一步解释了关于“文件”菜单中“新建”和“打开”项的框架标准命令的创建和初始化过程。
初始化你在这些类中添加的内容
上面各图还建议了您可重写成员函数以初始化应用程序对象的位置。 视图类中 OnInitialUpdate 的重写是最适合初始化视图的位置。 OnInitialUpdate 调用会在创建框架窗口后立即发生,此时框架窗口内的视图被附加到其文档。 例如,如果视图是滚动视图(派生自 CScrollView 而不是 CView),则应根据替代中的 OnInitialUpdate 文档大小设置视图大小。 (有关此过程,请参阅 CScrollView 类的说明。)可替代 CDocument 成员函数 OnNewDocument 和 OnOpenDocument 来提供特定于应用程序的文档初始化。 通常,您必须重写二者,因为文档可通过两种方式创建。
在大多数情况下,您的重写应调用基类版本。 有关详细信息,请参阅 MFC 库参考中的 CDocument、 CView、 CFrameWnd 和 CWinApp 类的命名成员函数。
另请参阅
文档模板和文档/视图创建过程
文档模板创建
文档/视图创建
MFC 对象之间的关系