【笔记】文档/视图结构(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
框架窗口:GetActiveView、GetActiveDocment
不是所有基于窗口的应用都要使用文档/视图结构,以下两种情况就不适宜:
1.不是面向数据的应用,或数据量很少的应用。如一些工具程序:磁盘扫描程序、过程控制程序等。
2.不使用标准窗口用户界面的程序,如一些游戏等。