将文档的数据实现为文档类的成员变量。 例如,Scribble 程序声明类型 CObList
的数据成员 - 一个链接列表,用于存储指向 CObject
对象的指针。 此列表用于存储构成手绘的点数组。
如何实现文档的成员数据取决于应用程序的性质。 为了帮助你提供帮助,MFC 提供了一组“集合类”(数组、列表和映射(字典),包括基于C++模板的集合,以及封装各种常见数据类型的类,例如CString
、CRect
、CPoint
和CSize
CTime
。 有关这些类的详细信息,请参阅 MFC 参考中的类库概述。
定义文档的成员数据时,通常会向文档类添加成员函数来设置和获取数据项,并对其执行其他有用的作。
视图使用视图的指针访问文档对象,该指针在创建时安装在视图中。 可以通过调用 CView
成员函数 GetDocument
在视图的成员函数中检索此指针。 请务必将此指针强制转换为自己的文档类型。 然后,可以通过指针访问公共文档成员。
如果频繁的数据传输需要直接访问,或者希望使用文档类的非公共成员,则可能需要将视图类设为文档类的友元(C++术语)。