转自https://msdn.microsoft.com/zh-cn/library/cc485606%28v=vs.71%29.aspx
使用下列原则初始化文档和视图并对其进行事后清理:
- MFC 框架初始化文档和视图;您初始化向文档和视图添加的任何数据。
- 框架在文档和视图关闭时进行清理;您必须解除分配从这些文档和视图的成员函数中在堆上分配的任何内存。
注意 请记住,整个应用程序的初始化最好通过重写 CWinApp 类的 InitInstance 成员函数来完成;整个应用程序的清理最好通过重写 CWinApp 的成员函数 ExitInstance 来完成。
MDI 应用程序中的文档(以及文档的框架窗口和一个或多个视图)的生命周期如下:
- 在动态创建期间,调用文档构造函数。
- 对于每个新文档,调用文档的 OnNewDocument 或 OnOpenDocument。
- 用户在文档的整个生存期内与文档进行交互。这通常在用户通过视图对文档数据进行操作(选择和编辑数据)时发生。视图将更改传递给文档以存储更改并更新其他视图。在此期间,文档和视图都可能处理命令。
- 框架调用 DeleteContents 以删除文档特定的数据。
- 调用文档的析构函数。
在 SDI 应用程序中,当第一次创建文档时只执行一次第一步。然后每次打开新文档时都重复执行第二步到第四步。新文档重复使用现有的文档对象。最后,当应用程序结束时执行第五步。