当前位置: 首页 > news >正文

MFC常用数据类型类:CRect

文章目录

  • 1. 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: 返回一个新的矩形,它是原矩形减小大小后的结果。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • [论文笔记]涨点近5%! 以内容中心的检索增强生成可扩展的级联框架:Pistis-RAG
  • Python函数 之 匿名函数
  • 目前分布式光纤测温系统的主流架构有哪些?
  • MyBatis(35)如何在 MyBatis 中实现软删除
  • 初识影刀:EXCEL根据部门筛选低值易耗品
  • 【算法】代码随想录之链表(更新中)
  • std::filesystem::current_path().generic_string()的bug
  • Cuda环境及Pytorch环境安装
  • 翻译语音识别在线的软件,分享4款实用的软件!
  • 3D工艺大师快速生成装配动画,驱动汽车工业装配流程革新
  • IOS上微信小程序密码框光标离开提示存储密码解决方案
  • 在 Markdown 编辑器中插入 空格 Space 和 空行 Enter
  • 使用uni-app和Golang开发影音类小程序
  • js 请求blob:https:// 图片
  • ES 慢上游响应问题优化在用户体验场景中的实践
  • [数据结构]链表的实现在PHP中
  • 0基础学习移动端适配
  • angular2 简述
  • el-input获取焦点 input输入框为空时高亮 el-input值非法时
  • fetch 从初识到应用
  • MobX
  • Node.js 新计划:使用 V8 snapshot 将启动速度提升 8 倍
  • PAT A1050
  • Spark RDD学习: aggregate函数
  • Three.js 再探 - 写一个跳一跳极简版游戏
  • 从0到1:PostCSS 插件开发最佳实践
  • 动态规划入门(以爬楼梯为例)
  • 聊聊spring cloud的LoadBalancerAutoConfiguration
  • 那些年我们用过的显示性能指标
  • 视频flv转mp4最快的几种方法(就是不用格式工厂)
  • 微信小程序--------语音识别(前端自己也能玩)
  • 译自由幺半群
  • 怎么把视频里的音乐提取出来
  • ​埃文科技受邀出席2024 “数据要素×”生态大会​
  • #{}和${}的区别?
  • #Lua:Lua调用C++生成的DLL库
  • #设计模式#4.6 Flyweight(享元) 对象结构型模式
  • (33)STM32——485实验笔记
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (备份) esp32 GPIO
  • (二)windows配置JDK环境
  • (附源码)springboot宠物医疗服务网站 毕业设计688413
  • (附源码)springboot金融新闻信息服务系统 毕业设计651450
  • (黑马出品_高级篇_01)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
  • (经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
  • (南京观海微电子)——I3C协议介绍
  • (转)大道至简,职场上做人做事做管理
  • ***linux下安装xampp,XAMPP目录结构(阿里云安装xampp)
  • *算法训练(leetcode)第四十七天 | 并查集理论基础、107. 寻找存在的路径
  • .apk 成为历史!
  • .Net Redis的秒杀Dome和异步执行
  • .NET 编写一个可以异步等待循环中任何一个部分的 Awaiter
  • .net 发送邮件
  • .NET 跨平台图形库 SkiaSharp 基础应用
  • .NET 中各种混淆(Obfuscation)的含义、原理、实际效果和不同级别的差异(使用 SmartAssembly)