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

按钮添加处理程序

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

【mfc/VS2022】计图实验:绘图工具设计知识笔记2_第1张图片

2. 找到对应的的按钮id

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

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

问题如图:

【mfc/VS2022】计图实验:绘图工具设计知识笔记2_第3张图片

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

解决方案实例(即是设置不填充的笔刷,要用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),如何将画出的两个相交的圆都显示出来,而不是重叠(如下图)隐藏了一条圆弧。icon-default.png?t=N7T8https://zhidao.baidu.com/question/480634499.html

修改文档标题 

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

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

【mfc/VS2022】计图实验:绘图工具设计知识笔记2_第4张图片

 【mfc/VS2022】计图实验:绘图工具设计知识笔记2_第5张图片

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

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

【mfc/VS2022】计图实验:绘图工具设计知识笔记2_第6张图片

修改-后面的内容

 

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

【mfc/VS2022】计图实验:绘图工具设计知识笔记2_第7张图片

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

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

【mfc/VS2022】计图实验:绘图工具设计知识笔记2_第8张图片

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

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

【mfc/VS2022】计图实验:绘图工具设计知识笔记2_第9张图片

你可能感兴趣的:(计算机图形学实验/作业,笔记,mfc,c++)