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

【mfc/VS2022】计图实验:绘图工具设计知识笔记

绘制曲线(贝塞尔曲线):

转自:CDC 类 | Microsoft Learn

绘制一条或多条贝塞尔曲线。

BOOL PolyBezier(const POINT* lpPoints,int nCount);

参数

lpPoints
指向包含曲线端点和控制点的 POINT 数据结构数组。

nCount
指定 lpPoints 数组中的点数。 此值必须是要绘制的样条数的三倍以上,因为每个 Bzier 样条需要两个控制点和一个端点,而初始样条需要另一个起点。

返回值

如果该函数成功,则为非 0;否则为 0。

注解

此函数使用 lpPoints 参数指定的端点和控制点绘制三次方贝塞尔曲线。 使用第二和第三点作为控制点,从第一点到第四点绘制第一条曲线。 序列中的每个后续曲线都需要另外三个点:前一条曲线的终点用作起点,序列中接下来的两个点是控制点,第三个点是终点。

函数不使用或更新 PolyBezier 当前位置。 该图未填充。 此函数使用当前触笔绘制线条。

设置鼠标的相关函数

SetCursor(LoadCursor(NULL,IDC_ARROW)); //设定光标为箭头

LoadCursor第一个参数是要载入光标的程序的实例,当使用系统预定义光标的时候,要设置为空。当要使用自定义光标的时候,设置为AfxGetInstanceHandle(),使用自定义的光标。

OnSetCursor 消息

afx_msg BOOL CWnd::OnSetCursor(CWnd* pWnd,UINT nHitTest,UINT message);

参数一:当前鼠标位于哪个窗口(控件)上,可以通过pWnd->GetDlgCtrID()来判断设置鼠标形状

参数二:表示当前鼠标位于实现该函数的窗口的哪个位置(HTBORDER HTCLIENT等等,参考OnNcHitTest函数)

参数三:表示鼠标消息的值(WM_LBUTTONDOWN  WM——LBUTTONUP诸如此类)

参考链接:

OnSetCursor 及改变鼠标形状

MFC 设置光标 SetCursor(HCURSOR hCursor)用法

关于游标

 Windows 提供一组标准游标,可供任何应用程序随时使用。 SDK 头文件包含 标准游标 的标识符 - 标识符以 IDC_ 前缀开头:

详见: 

https://learn.microsoft.com/zh-cn/windows/win32/menurc/about-cursorsicon-default.png?t=N7T8http://xn--vrvn3n

 

 Visual Studio常用操作

快速操作和重构

编写类时,在头文件中创建函数声明后,可进行快速操作重构,以在cpp文件中创建函数定义。有三种方式:

  • 快捷键 Alt + Enter
  • 快捷键 Ctrl + .
  • 鼠标右键点击函数,选择“快速操作和重构

快速操作和重构有三部分内容:

  • 更改签名:可以修改函数的参数列表,完成后会自动更新函数的声明与定义
  • 创建声明/定义:如果.h与.cpp文件种没有声明或者定义,则会自动创建
  • 移动定义位置:将函数定义的代码实现移动到.h文件中或者.cpp文件

https://blog.csdn.net/zwhooo/article/details/108025560icon-default.png?t=N7T8http://xn--8nru34h

http://www.lryc.cn/news/192600.html

相关文章:

  • C# PortraitModeFilter (人物图片)背景模糊
  • centos7下安装elasticsearch7.8.1并配置远程连接
  • MongoDB的作用和安装方法
  • spring boot 使用SSE向前端推送数据
  • C++智能指针(三)——unique_ptr初探
  • Composition Api 与 Options Api 有什么区别?
  • 紫光同创FPGA实现UDP协议栈网络视频传输,基于YT8511和RTL8211,提供4套PDS工程源码和技术支持
  • 深度学习简述
  • 【从零开始学习Redis | 第二篇】Redis中的数据类型和相关命令
  • 数据结构 - 3(链表12000字详解)
  • Jmeter性能测试插件jpgc的安装
  • 关于safari浏览器浏览html video标签无法正常播放的问题
  • 【C++代码】最大二叉树,合并二叉树,二叉搜索树中的搜索,验证二叉搜索树--代码随想录
  • 母婴用品会员商城小程序的作用是什么
  • c++初阶--内存管理
  • Burstormer论文阅读笔记
  • Apifox 学习笔记 - 前置操作之:动态更新请求体中的时间戳
  • 2023年9月 青少年软件编程等级考试Scratch二级真题
  • 12.验证码以及付费代理
  • 使用Plotly可视化
  • 【C语言】结构体、位段、枚举、联合(共用体)
  • “Python+”集成技术高光谱遥感数据处理与机器学习深度应用
  • Excel 转为 PDF,PNG,HTML等文件
  • docker中使用GPU+rocksdb
  • 好用的跨平台同步笔记工具,手机和电脑可同步的笔记工具
  • 【Python 千题 —— 基础篇】浮点数转换为整数
  • 金融科技论文D部分
  • Apache Tomcat下载安装配置使用超详细
  • 基于Seata的分布式事务方案
  • 指令跳转:原来if...else就是goto