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

按钮添加处理程序

1.类视图找到对应类右击,类向导

  1. 找到对应的的按钮id

如何将画出的两个相交的圆都显示出来,而不是重叠(如下图)隐藏了一条圆弧

问题如图:

因为矩形和圆心其实是个背景色的封闭图形,所以会把其他一些线条遮住,采用了空心笔刷(也就是不填充),这样他们就是透明的封闭图形了。

解决方案实例(即是设置不填充的笔刷,要用selectstockobject来选gdi提供好的):

复制代码
只需要创建一个NULL画刷:
CClientDC pdc(this);
CBrush *OldBrush;
OldBrush=(CBrush*)pdc.SelectStockObject(NULL_BRUSH);//创建一个不填充的画刷
pdc.Ellipse(0,0,50,50); //画圆
。。。
pdc.SelectObject(OldBrush);

c++图形编程(用MFC),如何将画出的两个相交的圆都显示出来,而不是重叠(如下图)隐藏了一条圆弧。https://zhidao.baidu.com/question/480634499.html

修改文档标题

以下来自------【2019】VC++深入详解(第3版):

当程序启动时会建立一个文档,文档的默认标题为"无标题"。既然OnNewDocument这个函数在 程序启动时就要被调用,因此可以在这个函数中设置文档的标题。也就是说,我们可以在CGraphicDoc类的OnNewDocument函数中修改文档 的标题,这可以通过使用CDocument类中的成员函数SetTitle来实现。

除了可以在 OnNewDocument 函数中修改文档标题以外,还可以通 过 IDR_MAINFRAME字符串资源来实现。打开Graphic程序的字符串资源 表,可以看到其中有一个名为 IDR_MAINFRAME 的字符串资源,该资源 字符串实际上是由"\n"字符分隔的7个子串,如图14.4所示。

从图14.4可以看到前两个"\n"字符之间没有任何内容,正因为 如此,文档才没有标题,在程序运行后,窗口标题上显示的文档名称 就是"无标题"。我们可以在这两个"\n"字符之间先添加一个标 题,例如"Graphic",然后将先前添加的SetTitle语句(例14-4所示 代码中加灰显示的那行代码)注释起来。再次运行Graphic程序,可以 看到这时程序窗口上文档标题就变成了"Graphic",如图14.5所示。

修改-后面的内容

因此,如果把 Graphic 程序的 IDR_MAINFRAME 字符串资源中第 一个子串替换为:"http://www.phei.com.cn",再次运行Graphic程 序 , 就 可 以 看 到 该 程 序 主 框 架 窗 口 的 标 题 变 成 了 : http://www.phei.com.cn,如图14.6所示

修改文件\打开里的过滤项

IDR_MAINFRAME 字符串资源的第四个子串是对文档类型的描述和 一个适用于此类型的通配符过滤器,该子串应该与第五个子串一起使 用。在本例中,这个字符串是空的,当Graphic程序运行后,单击【文 件\打开】菜单项时,将出现如图14.8所示的打开对话框,可以发现此 时在文件类型下拉列表框中只有"所有文件(*.*)"一项。

下面,修改Graphic程序中IDR_MAINFRAME字符串资源的第四个子 串,首先将其指定为:"Text Files(*.txt)",并将第五个子串设 置为:".txt"。然后运行Graphic程序,单击【文件\打开】菜单 项,程序将弹出如图14.9所示的"打开"对话框,可以看到现在在文 件类型下拉列表框中有了一个"Text Files(*.txt)"选项,并且若 选中该选项的话,在文件列表中就只能看到文本文件了。

注意:经过在VS2022上实践,这两个字串不需要引号。

相关推荐
渡我白衣2 小时前
并查集:基础认识与模拟实现
android·java·javascript·数据结构·c++·算法·并查集
如意猴2 小时前
【C++】001--C++入门(1)
开发语言·c++
hetao17338372 小时前
2026-09-01~09-04 hetao1733837 的刷题记录
c++·算法
血小板要健康3 小时前
链表 阶段算法总结
java·数据结构·笔记·算法·leetcode·链表
浔溺3 小时前
al+大数据每日学习笔记31
大数据·笔记·学习
摇滚侠3 小时前
《SpringBoot 3:入门与应用实战》第 9 章 跨域问题 阅读笔记 27
spring boot·笔记·okhttp
山岚的运维笔记3 小时前
mysql 专业笔记 -- 第 8 章:使用变量
运维·数据库·笔记·后端·学习·mysql·dba
噜~噜~噜~4 小时前
操作系统笔记-2.3.6 管程
笔记·操作系统
HugoStudio_SWAN5 小时前
洛谷 P1420 / P1179 / B4262 最长连号、数字统计与词频统计——统计的三种面孔
c++·学习·程序人生·算法
raindayinrain6 小时前
c++并发
c++