MFC常用数据类型类:CRect

1. CRect类

CRect 是用于表示矩形区域。这个类提供了许多方法和操作符来操作矩形的尺寸和位置。下面是一些 CRect 类中常用的方法和特性:

构造函数

  1. CRect(): 创建一个空的矩形(所有坐标都为0)。
  2. CRect(int l, int t, int r, int b): 使用指定的左、上、右、下坐标创建一个矩形。
  3. CRect(const RECT& srcRect): 从一个 RECT 结构创建一个 CRect 对象。
  4. CRect(POINT topLeft, POINT bottomRight): 使用两个 POINT 对象(分别表示左上角和右下角)创建一个矩形。
  5. CRect(const CRect& srcRect): 复制构造函数。

成员函数

  1. void SetRect(int l, int t, int r, int b): 设置矩形的左、上、右、下坐标。
  2. void SetRectEmpty(): 将矩形设置为空(所有坐标都为0)。
  3. void CopyRect(LPCRECT lpSrcRect): 从一个 RECT 结构复制坐标到 CRect。
  4. int Width() const: 返回矩形的宽度(right - left)。
  5. int Height() const: 返回矩形的高度(bottom - top)。
  6. CSize Size() const: 返回一个 CSize 对象,表示矩形的宽度和高度。
  7. CPoint& TopLeft(): 返回对矩形左上角坐标的引用,允许修改。
  8. CPoint& BottomRight(): 返回对矩形右下角坐标的引用,允许修改。
  9. CPoint CenterPoint() const: 返回矩形中心点的坐标。
  10. void OffsetRect(int x, int y): 将矩形向x和y方向移动指定的距离。
  11. void InflateRect(int x, int y): 增大或减小矩形的尺寸。
  12. void NormalizeRect(): 确保 left 小于 right,top 小于 bottom。
  13. BOOL PtInRect(POINT point) const: 判断给定的点是否在矩形内部。
  14. BOOL IntersectRect(LPCRECT lpRect1, LPCRECT lpRect2): 判断两个矩形是否相交,并返回它们的交集(如果相交)。
  15. BOOL UnionRect(LPCRECT lpRect1, LPCRECT lpRect2): 计算两个矩形的并集。
  16. void SubtractRect(LPCRECT lpRectSrc, LPCRECT lpRectSubtract): 从一个矩形中减去另一个矩形。

操作符

  1. BOOL operator==(const CRect& rect) const: 判断两个矩形是否相等。
  2. BOOL operator!=(const CRect& rect) const: 判断两个矩形是否不相等。
  3. CRect& operator=(const RECT& srcRect): 从 RECT 结构赋值给 CRect。
  4. CRect& operator=(const CRect& srcRect): 复制赋值操作符。
  5. CRect& operator+=(POINT point): 将矩形向给定点移动。
  6. CRect& operator+=(SIZE size): 调整矩形的大小。
  7. CRect& operator-=(POINT point): 将矩形向给定点的反方向移动。
  8. CRect& operator-=(SIZE size): 减小矩形的大小。
  9. CRect operator+(POINT point) const: 返回一个新的矩形,它是原矩形向给定点移动后的结果。
  10. CRect operator-(POINT point) const: 返回一个新的矩形,它是原矩形向给定点反方向移动后的结果。
  11. CRect operator+(SIZE size) const: 返回一个新的矩形,它是原矩形调整大小后的结果。
  12. CRect operator-(SIZE size) const: 返回一个新的矩形,它是原矩形减小大小后的结果。

相关推荐

  1. MFC数据类型CRect

    2024-07-13 10:08:02       26 阅读
  2. 数据库数据类型

    2024-07-13 10:08:02       51 阅读
  3. MFC CList<CRect, CRect&> m_listRect;的

    2024-07-13 10:08:02       26 阅读
  4. Redis数据类型--Hash

    2024-07-13 10:08:02       45 阅读
  5. Redis数据类型--List

    2024-07-13 10:08:02       42 阅读
  6. ElasticSearch的数据类型

    2024-07-13 10:08:02       35 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-13 10:08:02       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-13 10:08:02       71 阅读
  3. 在Django里面运行非项目文件

    2024-07-13 10:08:02       58 阅读
  4. Python语言-面向对象

    2024-07-13 10:08:02       69 阅读

热门阅读

  1. noi.openjude1.5 26统计满足条件的4位数个数

    2024-07-13 10:08:02       19 阅读
  2. MYSQL

    MYSQL

    2024-07-13 10:08:02      19 阅读
  3. Vue.js Ajax(axios)

    2024-07-13 10:08:02       20 阅读
  4. 开源项目有哪些机遇与挑战?

    2024-07-13 10:08:02       20 阅读
  5. Spring Boot集成Atomix快速入门Demo

    2024-07-13 10:08:02       24 阅读
  6. Python实现网站IP地址查询

    2024-07-13 10:08:02       20 阅读
  7. parquet-go的CSVWriter

    2024-07-13 10:08:02       27 阅读
  8. 玩转鸿蒙NXET之组件导航与路由跳转二

    2024-07-13 10:08:02       23 阅读
  9. Go语言入门之数组切片

    2024-07-13 10:08:02       28 阅读
  10. P6. 对局列表和排行榜功能

    2024-07-13 10:08:02       24 阅读
  11. 使用Nginx实现高效负载均衡

    2024-07-13 10:08:02       23 阅读
  12. CRC32简述

    2024-07-13 10:08:02       25 阅读
  13. 赛博灯泡3.0,未完善,无bug

    2024-07-13 10:08:02       21 阅读
  14. C#——二进制流序列化和反序列化

    2024-07-13 10:08:02       28 阅读