【笔记】文档/视图结构(Doc/View)

应用程序对象(App)唯一的全局对象,储存文档模板列表。

       |

模板对象(DocTemplate)储存打开文档的列表。创建文档、框架窗口、视图,并定义三者之间的关系。

       |

 文档(Doc)应用程序的一种数据结构[:CDocument]

   |

框架窗口(MainFrame)储存当前活动视图的指针[CWnd]

       |

视图(View)储存和自己关联的文档指针[CWnd]【专一】

 

解释:

1.视图用来在框架窗口中显示文档的内容。提供给用户一个交互的界面,把用户的输入转化为对文档中数据的操作。

2.数据和显示分离:数据的存储和加载由文档类来完成,显示和修改则由视图类完成。

3.视图只能与一个文档关联。而文档可以让多个视图显示,至少一个。

4.一个应用程序对象可以管理多个模板对象,一个模板对象可以管理多个同类型的文档。

 

从以上关系可以得出的结论:

1.在APP的初始化中,要创建模板对象的。

2.工具栏是在框架窗口上的,所以ToolBar在MainFrame中加载。

3.文档向下获取:GetDocTemplate、GetFirstView/GetNexView

 视图向上获取:GetDocument、GetParentFrame

   框架窗口:GetActiveViewGetActiveDocment

 

不是所有基于窗口的应用都要使用文档/视图结构,以下两种情况就不适宜:

1.不是面向数据的应用,或数据量很少的应用。如一些工具程序:磁盘扫描程序、过程控制程序等。

2.不使用标准窗口用户界面的程序,如一些游戏等。

 

posted @ 2012-03-30 10:27  醪糟汤圆  Views(271)  Comments(0Edit  收藏  举报