zoukankan      html  css  js  c++  java
  • 【笔记】文档/视图结构(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.不使用标准窗口用户界面的程序,如一些游戏等。

  • 相关阅读:
    hdu 3268 09 宁波 现场 I
    hdu 3697 10 福州 现场 H
    CodeForces Round #521 (Div.3) D. Cutting Out
    #Leetcode# 226. Invert Binary Tree
    zufe 蓝桥选拔
    #Leetcode# 100. Same Tree
    #Leetcode# 6. ZigZag Conversion
    PAT 1084 外观数列
    #Leetcode# 38. Count and Say
    #Leetcode# 22. Generate Parentheses
  • 原文地址:https://www.cnblogs.com/xxt1991/p/2424767.html
Copyright © 2011-2022 走看看