当不需要用多个View但需要文件存储功能时,就不用关心UpdateAllViews和OnUpdate函数。建立这样一个简单的应用程序可以遵循以下步骤:
1、给CDocument派生类定义用于存储数据的成员变量,或者把CView派生类声明成CDocument派生类的友元类。
2、重载CView派生类的OnInitialUpdate函数。当Document的数据初始化或改变时,Application Framework将会调用它。
3、让CView派生类的Message Handlers、Command Message Handlers和OnDraw函数直接读取或更新Document的数据(利用GetDocument函数)。
下面是在程序中发生的一系列的事件:
Application starts | CMyDocument object constructed
CMyView object constructed
View window created
CMyView::OnCreate called (if mapped)
CMyDocument::OnNewDocument called
CMyView::OnInitialUpdate called
View object initialized |
User edits data | CMyView functions update CMyDocument data members |
User exits application | CMyView object destroyed
CMyDocument object destroyed
|