构造函数:产生本类的对象,但是没有产生窗口;
OnCreate函数:将产生窗口
OnInitialUpDate:一般在这里对视图的显示做初始化;
简单的说,OnCrate只是产生VIEW的基本结构和变量,在OnInialUpdate中,主要初始化视图中的控件等,对各个变量进行初始化操作。
需要注意的是,在单文档的情况下,OnInitialUpDate会被调用多次。当应用程序被启动,或当用户从File菜单选择了New的时候,或当用户从File菜单选择了Open的时候,OnInitialUpDate虚函数都会被调用。CView基类中的OnInitialUpDate函数除了调用OnUpdate函数外没有做任何其他事情。如果在派生类中重载该函数一定要动用基类的OnInitialUpDate函数,或者调用派生类的OnUpdate函数。当应用程序启动时,框架调用视图类的OnCreate函数之后立即调用OnInitialUpDate函数。
因此,需要仅当创建视图的窗口时,才执行任何初始化应在 OnCreate() 消息处理程序而不是在 OnInitialUpdate() 函数中。
简单文档视图交互过程:
程序启动: CMyDocument对象被创建-》CMyView对象被创建-》视图窗口被创建-》CMyView::OnCreate函数被调用(如果被映射)-》CMyDocument::OnNewDocument函数被调用-》
CMyView::OnInitialUpdate函数被调用-》视图对象被初始化-》视图窗口无效-》CMyView:OnDraw函数被调用
用户编辑数据: CMyView类中函数对CMyDocument数据成员进行更新
退出程序: CMyView对象被删除-》CMyDocument对象被删除