MFC的通用类

18 篇文章 0 订阅

简单数据类: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>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值