VC++ CRect类说明

  这个类是从tagRECT结构派生而来的。(tagRECT是RECT结构的不太常用的别名。)这意味着RECT结构的数据成员(left,top,right,和bottom)也是CRect的可访问数据成员。

  一个CRect包含用于定义矩形的左上角和右下角点的成员变量。

CRect 实际上是一个矩形的类,数据成员是,(矩形左上角的x的坐标,矩形左上角Y的坐标,矩形右下角x的坐标,矩形右下角Y的坐标)

  当指定一个CRect时,必须谨慎地构造它,以使它符合规范——也就是说,使其左坐标值小于右坐标值,使顶坐标值小于底坐标值。例如,左上角为(10,10),右下角为(20,20)就定义了一个符合规范的矩形,但是左上角为(20,20) 而右下角为(10,10)的值就定义了一个不符合规范的矩形。如果矩形是不符合规范的,则CRect的许多成员函数都会符合不正确的结果。(参见 CRect::NormalizeRect可以得到这些函数的列表。)在你调用一个要求符合规范的矩形的函数之前,你可以通过调用 NormalizeRect函数来使不符合规范的矩形成为符合规范的矩形。

  当用成员函数CDC::DPtoLP和CDC::LPtoDP来处理CRect时要小 心。如果显示环境的映射模式y-extent是负的,就像在MM_LOENGLISH中一样,则CDC::DPtoLP将转换CRect,以使它的顶部坐 标大于底部坐标。然后像Height和Size这样的函数将返回负值作为转换后的矩形的高度,则此矩形将是不符合规范的。

  当使用重载的CRect操作符时,第一个操作数必须是一个CRect;第二个操作数可以是一个RECT结构或一个CRect对象。

  #include <afxwin.h>

  请参阅:CPointCSizeRECT

  CRect类成员

构造

  CRect 构造一个CRect对象

运算

  Width 计算CRect的宽度

  Height 计算CRect的高度

  Size 计算CRect的大小

  TopLeft 返回CRect的左上角点

  BottomRight 返回CRect的右下角点

  CenterPoint 返回CRect的中心点

  IsRectEmpty 确定CRect是否是空的。如果CRect的宽度和/或高度为0,则它是空的

  IsRectNull 确定CRect的top,bottom,left,和right是否都等于0

  PtInRect 确定指定的点是否在CRect之内

  SetRect 设置CRect的尺寸

  SetRectEmpty 设置CRect为一个空的矩形(所有的坐标都等于0)

  CopyRect 将一个源矩形的尺寸拷贝到CRect

  EqualRect 确定CRect是否等于给定的矩形

  InflateRect 增加CRect的宽度和高度

  DeflateRect 减少CRect的宽度和高度

  NormalizeRect 使CRect的高度和宽度返回规范

  OffsetRect 将CRect移动到指定的偏移

  SubtractRect 从一个矩形中减去另一个矩形

  IntersectRect 设置CRect等于两个矩形的交集

  UnionRect 设置CRect等于两个矩形的并集

运算符

  operator LPCRECT 将一个CRect转换为一个LPCRECT

  operator LPRECT 将一个CRect转换为一个LPRECT

  operator = 将一个矩形的尺寸拷贝到CRect

  operator == 确定CRect是否与一个矩形相等

  operator != 确定CRect是否不等于另一个矩形

  operator += 使CRect增加指定的偏移,或使CRect放大

  operator -= 从CRect中减去指定的偏移,或缩小CRect

  operator &= 设置CRect等于CRect和某个矩形的交

  operator |= 设置CRect等于CRect和某个矩形的并

  operator + 增加给定偏移量到CRect,并返回得到的CRect对象

  operator - 从CRect中减去给定偏移量,并返回得到的CRect对象

  operator & 创建CRect与某个矩形的交,并返回得到的CRect对象

  operator | 创建CRect与某个矩形的并,并返回得到的CRect对象

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值