文章目录
- 1. CRect类
- 构造函数
- 成员函数
- 操作符
1. CRect类
CRect 是用于表示矩形区域。这个类提供了许多方法和操作符来操作矩形的尺寸和位置。下面是一些 CRect 类中常用的方法和特性:
构造函数
- CRect(): 创建一个空的矩形(所有坐标都为0)。
- CRect(int l, int t, int r, int b): 使用指定的左、上、右、下坐标创建一个矩形。
- CRect(const RECT& srcRect): 从一个 RECT 结构创建一个 CRect 对象。
- CRect(POINT topLeft, POINT bottomRight): 使用两个 POINT 对象(分别表示左上角和右下角)创建一个矩形。
- CRect(const CRect& srcRect): 复制构造函数。
成员函数
- void SetRect(int l, int t, int r, int b): 设置矩形的左、上、右、下坐标。
- void SetRectEmpty(): 将矩形设置为空(所有坐标都为0)。
- void CopyRect(LPCRECT lpSrcRect): 从一个 RECT 结构复制坐标到 CRect。
- int Width() const: 返回矩形的宽度(right - left)。
- int Height() const: 返回矩形的高度(bottom - top)。
- CSize Size() const: 返回一个 CSize 对象,表示矩形的宽度和高度。
- CPoint& TopLeft(): 返回对矩形左上角坐标的引用,允许修改。
- CPoint& BottomRight(): 返回对矩形右下角坐标的引用,允许修改。
- CPoint CenterPoint() const: 返回矩形中心点的坐标。
- void OffsetRect(int x, int y): 将矩形向x和y方向移动指定的距离。
- void InflateRect(int x, int y): 增大或减小矩形的尺寸。
- void NormalizeRect(): 确保 left 小于 right,top 小于 bottom。
- BOOL PtInRect(POINT point) const: 判断给定的点是否在矩形内部。
- BOOL IntersectRect(LPCRECT lpRect1, LPCRECT lpRect2): 判断两个矩形是否相交,并返回它们的交集(如果相交)。
- BOOL UnionRect(LPCRECT lpRect1, LPCRECT lpRect2): 计算两个矩形的并集。
- void SubtractRect(LPCRECT lpRectSrc, LPCRECT lpRectSubtract): 从一个矩形中减去另一个矩形。
操作符
- BOOL operator==(const CRect& rect) const: 判断两个矩形是否相等。
- BOOL operator!=(const CRect& rect) const: 判断两个矩形是否不相等。
- CRect& operator=(const RECT& srcRect): 从 RECT 结构赋值给 CRect。
- CRect& operator=(const CRect& srcRect): 复制赋值操作符。
- CRect& operator+=(POINT point): 将矩形向给定点移动。
- CRect& operator+=(SIZE size): 调整矩形的大小。
- CRect& operator-=(POINT point): 将矩形向给定点的反方向移动。
- CRect& operator-=(SIZE size): 减小矩形的大小。
- CRect operator+(POINT point) const: 返回一个新的矩形,它是原矩形向给定点移动后的结果。
- CRect operator-(POINT point) const: 返回一个新的矩形,它是原矩形向给定点反方向移动后的结果。
- CRect operator+(SIZE size) const: 返回一个新的矩形,它是原矩形调整大小后的结果。
- CRect operator-(SIZE size) const: 返回一个新的矩形,它是原矩形减小大小后的结果。