MFC常用数据类型类:CRect

ops/2024/9/24 6:08:11/

文章目录

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

http://www.ppmy.cn/ops/56805.html

相关文章

css文本划线效果(text-decoration相关属性详解)

/* 样式类型*/text-decoration: underline;/* 下划线颜色 */text-decoration-color: #ffcb15;/* 超出基线的字符不会被截断 */text-decoration-skip-ink: none;/*下划线厚度 */text-decoration-thickness: 5px;/* 与其原始位置的偏移距离 */text-underline-offset: 0;1. text-u…

Mac下flutter运行iOS模拟器

上篇flutter环境安装(Macvscode)已经将vscode和xcode等开发环境都搭建起来了,vscode新建工程还是比较方便的,那么,建立好了之后,我们怎么看效果呢? 1. vscode新建项目 通过 vscode的命令命板(…

2974.最小数字游戏

1.题目描述 你有一个下标从 0 开始、长度为 偶数 的整数数组 nums ,同时还有一个空数组 arr 。Alice 和 Bob 决定玩一个游戏,游戏中每一轮 Alice 和 Bob 都会各自执行一次操作。游戏规则如下: 每一轮,Alice 先从 nums 中移除一个 …

[Spring] Spring Web MVC基础理论

🌸个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 🏵️热门专栏: 🧊 Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm1001.2014.3001.5482 🍕 Collection与…

【开源 Mac 工具推荐之 1】gibMacOS:方便快捷的 macOS 完整包下载 Shell 工具

简介 gibMacOS 是由 GitHub 开发者 corpnewt 编写的一款 Shell 工具。它采用 Python 编程语言,可以让用户打开后在纯文本页面中轻松选择并下载来源于 Apple 官方的 macOS 完整安装包。 Repo 地址:https://github.com/corpnewt/gibMacOS (其…

uniapp:使用mescroll实现左导航,右数据(数据带分页)

<template><view class"u-wrap"><u-navbar title"复购" :is-back"false" :border-bottom"false" title-color"#282828"></u-navbar><view class"u-menu-wrap"><scroll-view scr…

详解如何通过稀疏向量优化信息检索

在信息检索方法的发展历程中&#xff0c;我们见证了从传统的统计关键词匹配到如 BERT 这样的深度学习模型的转变。虽然传统方法提供了坚实的基础&#xff0c;但往往难以精准捕捉文本的语义关系。如 BERT 这样的稠密检索方法通过利用高维向量捕获文本的上下文语义&#xff0c;为…

小红书矩阵管理系统:多账号运营的智能解决方案

随着社交媒体的多元化发展&#xff0c;内容创作者和品牌商越来越需要一个能够高效管理多个账号的系统。小红书作为国内领先的生活分享平台&#xff0c;其矩阵管理系统应运而生&#xff0c;为用户带来了多账号发布、批量剪辑视频以及一键分发的便捷功能。本文将详细介绍小红书矩…