《VC++深入详解》学习笔记 第十章 绘图控制

孙鑫-《VC++深入详解(修订版)》—chapter1WinMain.cpp 本程序的开发环境是:VS2019,新建一个Windows桌面应用程序,然后加入了孙老师书中的代码,体验,复习了一下消息处理,窗口的创建等。程序运行起来后,可以对键盘的按键做出反应,点击左键也有反应,改变窗体大小也有反应。对了,需要修改一下该项目的字符集,原来是unicode,改为多字节字符集,要不然很多代码出错。 阅读详情

1.简单绘图

(1)画点:CDC类的成员函数SetPixel

     函数原型:COLORREF SetPixel(POINT point,COLORREF crColor);

(2)画直线:CDC类的成员函数MoveTo和LineTo

(3)画矩形:CDC类的成员函数Rectangle,参数为一个指向CRect对象的指针,要先建一个矩形对象

(4)画椭圆:CDC类的成员函数Ellipse

(5)设置:1.响应函数OnSetting

           2.设置对话框类CSettingDlg

           3.响应函数中添加代码:(设置画笔宽度)

             CSettintDlg dlg;

             If(IDOK == dlg.DoModal())

             {

               m_nLineWidth = dlg.m_nLineWidth;

             }

2.颜色对话框:MFC提供的类CColorDialog

(1)CColorDialog—CCommonDialog—CDialog—CWnd

(2)构造方法:CColorDialog(clrInit = 0,DWORD dwFlags = 0,CWnd* pParentWnd = NULL);

//第一个参数指定默认的颜色选择,默认是黑色

//第二个参数是一组标记,用来定制颜色对话框的功能和它的外观

//第三个参数指向颜色对话框父窗口或拥有者的指针

(3)将选择的颜色保存下来:CColorDialog类的CHOOSECOLOR结构体成员变量m_cc的rgbResult中保存了颜色  COLORREF  m_clr = dlg.m_cc.rgbResult;

(4)若要设置颜色对话框选择的颜色,则需要设置该对话框的CC_RGBINIT标记(第二个参数中设置)  dlg.m_cc.Flags |= CC_RGBINIT;

3.字体对话框:MFC提供的CFontDialog

(1)CFontDialog—

孙鑫视频VC++深入详解学习笔记 <br />VC++深入详解学习笔记<br />Lesson1: Windows程序运行原理及程序编写流程<br />Lesson2: 掌握C++基本语法<br />Lesson3: MFC框架程序剖析<br />Lesson4: 简单绘图<br />Lesson5: 文本编程<br />Lesson6: 菜单编程<br />Lesson7: 对话框编程<br />Lesson9: 定制应用程序的外观<br />Lesson10: 绘图控制<br />Lesson11 图形的保存和重绘<br />Lesso 阅读详情

相关推荐

vc++绘图程序(界面+代码)

利用vc++编写的绘图界面如下图所示,关于画笔画刷以及颜色控制任何关于VC++程序开发的书籍中都能找到资料。 绘图函数程序如下: CPaintDC dc(this); // device context for painting // TODO: 在此处添加消息处理程序代码 // 不为绘图消息调用CDialog::OnPaint() ADOConn m_ado; m_ad

肖氏专栏 5374

孙鑫VC++第10章绘图控制

十、绘图控制   1.        简单绘图          CClientDC dc(this);          CPen pen(PS_SOLID,1,RGB(255,0,0));        dc.SelectObject(&pen);          //透明画刷        CBrush *pBrush =CBrush::FromHandle((HBRU

C__Monkey的专栏 1705

深入解析VC++经典绘图程序DrawCli

在开发任何软件项目之前,确定明确的设计理念与目标是至关重要的,这可以确保开发过程中始终有一个清晰的方向和最终的目的。对于DrawCli程序而言,设计理念着眼于提供一个简单、直观且功能全面的图形绘制软件。其解决思路基于以下几点:用户界面友好:设计一个直观的用户界面,让用户能够快速上手,并通过简化的操作流程完成绘图任务。高度可定制性:用户可以根据个人习惯和需求定制绘图工具的选项,如颜色选择、画笔大小和样式等。跨平台兼容性:确保软件能够在不同的操作系统上运行,提供统一的用户体验。

weixin_35414260的博客 532

二维绘图VC++编程实战示例:Visual Studio 2019项目教程

本文还有配套的精品资源,点击获取 简介:该压缩包包含一个使用Visual Studio 2019开发的VC++二维图形绘制项目,是学习VC++图形界面编程和Windows API应用的极佳资源。示例涉及VC++编程基础、VS2019 IDE的使用、GDI和GDI+二维绘图技术,以及项目结构和代码实现细节的解释。学习者可以掌握如何在Windows平台上进行图形绘制,理解编程流...

weixin_36059856的博客 1506

VC++深入详解-完整带详细书签

VC++深入详解完整版,并带完整详细的书签,包括每章,每节的书签索引。

VC++深入详解pdf版(第三卷)

上传限制无奈分卷压缩 一共12卷 要12卷在同目录才可以解压 给大家带来不便请你们谅解 VC++深入详解pdf版 VC++深入详解 VC++深入详解电子档

VC++深入详解(3)

VC++深入详解,学习VC++的经典教材

孙鑫 VC++ 深入详解书中源码

孙鑫 VC++ 深入详解书中源码

Fastjson2 2.0.26反序列化漏洞深度剖析:从原理到PoC构造

本文深度剖析了Fastjson2在2.0.26及之前版本中存在的反序列化漏洞。该漏洞允许攻击者通过构造包含恶意TemplatesImpl对象的JSONArray,并利用BadAttributeValueExpException触发,在反序列化过程中实现远程代码执行。文章从漏洞原理、PoC构造、利用链分析到防御建议,提供了全面的技术解读,帮助开发者和安全人员理解其危害并采取应对措施。

d3e4f的博客 1052

进芯AVP28335烧录避坑全记录:CCS、Uniflash、C2Prog、SDFlash四大工具配置详解

本文详细解析了进芯AVP28335芯片在烧录过程中遇到的常见问题及解决方案,涵盖CCS、Uniflash、C2Prog和SDFlash四大工具的配置要点。针对国产器件AVP28335的特殊需求,提供了从开发环境准备到烧录验证的全流程指南,帮助开发者高效完成程序烧录,避免常见陷阱。

weixin_30836759的博客 591

【车间调度】车间调度问题的分类

本系列为自己学习调度相关知识的记录,如有误请指出,也欢迎调度方向的小伙伴加我好友共同交流。 车间调度问题的分类 根据工件和车间构成不同,车间调度问题可分为以下几种 1.单机调度问题 在单机调度问题(S,SMP)中,加工系统只有一台机床,待加工的工件有且仅有一道工序,所有工件都在该机床上进行加工。此问题是最简单的调度问题,当生产车间出现瓶颈机床时的调度就可视为此调度问题。 ...

weixin_51656605的博客 7430

Python遥感图像处理指南(2)-卫星影像分析MNDWI提取

在第一篇文章中,我们使用了我们导入的软件包中已定义的函数,如 rasterio 中的 open 和 read 以及 matplotlib 中的 imshow。现在,我们可以编写自己的函数了。函数是一段代码,它接收一些参数作为输入并返回输出(经过一些计算),可以在代码中多次重复使用,也可以被其他代码重用。在 Python 中定义一个新函数非常简单。return v在此语法示例中,arg1和arg2强制参数,应该传递给函数,否则会引发错误,而arg3是一个可选参数,如果是,则假定默认值 1从函数调用中省略。

gis收藏家的博客 1576

【教程4>第5章>第19节】基于Gardner环的位同步系统MATLAB仿真与带时偏基带数据导出

由于在FPGA中,时偏的影响主要是由系统收发两端晶振的不同步带来的,所以在仿真测试阶段,很难直接通过FPGA来模拟这个因素,所以我们采用MATLAB模拟带时偏的基带输入信号,并将其导出,由FPGA调用作为测试信号源。可以看到,同步之后(图3)相对于带时偏的基带信号(图2),其更接近标准的数据(图1),且抖动较小。订阅过的朋友可以复习下这个课程,没有订阅的朋友,也可以直接复制如下的程序进行仿真测试。上述程序中,加入时偏的基带信号,通过子函数。同步之后,可以恢复出标准的QPSK星座图。

FPGA/MATLAB学习教程/源码/项目合作开发 522

反爬虫:POST 请求参数中 Sign 的加密机制详解,并设计带 Sign 校验的网站

本文介绍了API请求中sign签名的生成原理及实现方法。sign是通过对请求参数加密生成的一串字符串,用于验证请求合法性,防止参数篡改、重放攻击和伪造请求。其生成步骤包括参数排序、拼接字符串、加盐和哈希加密。文章还演示了如何在FastAPI后端实现带sign验证的新闻网站,包括参数校验、时间戳验证和签名比对等安全措施,有效提升API安全性,增加爬虫逆向难度。

数据知道的博客 4078

进阶06:C#连接TwinCAT 3使用ADS通讯

本文介绍了使用C#通过ADS协议与倍福TwinCAT3 PLC通讯的实现方法。主要内容包括:1)在两台电脑上安装TwinCAT3开发环境并建立网络连接;2)在TwinCAT中定义变量和结构体;3)使用C# Winform开发界面,通过TwinCAT.Ads.dll实现读写功能;4)实现主动读取和通知两种数据获取方式。详细说明了连接建立、变量定义、读写操作及事件通知的实现代码。该方案实现了对PLC寄存器数据的实时监控和操作,为工业控制系统的开发提供了参考。

weixin_38637405的博客 3689

36、转子 - 主动磁轴承系统建模及密封性能研究

本文研究了转子-主动磁轴承(AMBs)系统的动力学建模、稳定性分析及密封性能。通过建立包含转子、电子控制系统和接口接触的机电模型,结合Bernoulli-Euler梁理论与弹簧单元等效法,构建了考虑接口接触的闭环系统模型,并在磁悬浮鼓风机和电机上进行数值模拟与实验验证,结果表明接口接触刚度显著影响系统稳定性,尤其在高预紧扭矩下易激发弯曲模态失稳。同时,对非接触式低温密封进行了CFD仿真与实验测试,发现浮动环密封(FRS)具有最优的泄漏控制和抗磨损性能。研究成果为提升高速旋转机械的稳定性和密封可靠性提供了理论

vim8coder的博客 135

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

上一篇: 《VC++深入详解》学习笔记 第九章 定制应用程序的外观
下一篇: 《VC++深入详解》学习笔记 第十一章 图形的保存和重绘
EmberSpirit
博客等级 码龄15年 7粉丝 29原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值