简单数据类:CPoint,CSize,CRect,CString,集合数据类及CArray类.
1. 点类:CPoint
MFC用CPoint类来描述一个点。
构造函数:
CPoint();
CPoint(int initX,int initY);//点坐标
CPoint(POINT initPt);//点
CPoint(SIZE initSize);
CPoint(DWORD dwPoint)//dwPoint 设此参数的低位字为x成员,高位字为y成员。
其他的成员函数:
Offset 给CPoint的x和y成员增加值
operator == 检查两个点是否相等
operator != 检查两个点是否不等
返回CPoint值的操作符 operator += 通过增加一个尺寸或点来使CPoint偏移
operator -= 通过减去一个尺寸或点来使CPoint偏移
operator + 返回一个CPoint和一个尺寸或点的和
operator - 返回一个CPoint和一个尺寸或点的偏差,或一个点的不存在
返回CSize值的操作符 operator - 返回两点之间的大小差别
返回CRect值的操作符 operator + 返回偏移一个大小的CRect
operator - 返回偏移一个负大小的CRect
2. 矩阵类
MFC用CRect来描述一个矩形
构造函数:
CRect(int l,int t,int r,int b);//矩形(Left,Top)和点(right,bottom)的坐标
CRect(const RECT &srcRect)
3.尺寸类
MFC用CSize类来描述一个矩形区域的大小
CSize(int initCX,initCY);//矩形的长度和宽度
CSize(SIZE initSize);
4.字符串类
MFC用CString来处理字符。字符串处理是应用程序设计中的一个关键技术:任何的屏幕输出,只能够输出字符,因此所有的非字符串必须转换为字符串之后,才能被正常输出。
构造函数:
CString();
CString(const unsigned char* psz);
5.群体数据类
群体数据类也叫做数据集类,它维护和支持数组、列表和数据对象字典。MFC在头文件afxtempl.h中提供了基于模板的数据集类和非基于模板的数据集类。基于模板的数据集类有CArray、CList和CMap。
CArray,该类及其派生类支持数据对象数组。一个数组由一个或多个相同的数据对象组成,它们在内存中相邻,可以通过简单索引访问它们。CArray类可以动态增加或减少数组大小。有两种方法可以动态的定义数组:
CArray<Object,Object> Var1;
CArray<Object,Object&> Var2;
第一个参数是数组元素数据类型,第二个参数有两种选择,一种是与数据类型相同,意味着数组对象作为参数传递时传递的是数组对象,第二种是数据类型的引用,表示数组对象作为参数传递时传递的是数组对象的指针。CList,该类及其派生类支持数据对象的链表。一个链表由一个或多个相同的数据对象组成,它们在内存中可以连续也可以不连续,但数据对象是双向链接的,以便通过链表前后搜索数据。模板CList <type,arg_type>
CMap,该类及其派生类支持数据对象的字典。在一个二进制或文本关键字约束下,数据字典存储一个或多个相同数据对象,可以用该关键字检索数据项。模板CMap<classKey,ClassARG_KEY,ClassVALUE,ClassARG_VALUE>