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