使用Visual Studio进行MFC单文档下的菜单绘图(直线、三角形、正方形、逐渐向中心收缩的矩形) | 您所在的位置:网站首页 › ps绘制钟表教程三角形 › 使用Visual Studio进行MFC单文档下的菜单绘图(直线、三角形、正方形、逐渐向中心收缩的矩形) |
一、创建单文档MFC工程
1、打开vs,创建新项目
选择MFC工程(我是之前创建过,如果左边没有,可以在右侧输入框输入MFC),然后点击下一步。 输入工程名字,点击右下角创建后,弹出基于对话框、单文档、多文档等形式创建,此时选择单文档,如下图所示。 在右侧资源视图Menu目录下的IDR_MAINFRAME文件,双击打开,出现菜单列。 点击空白的请在此处键入,输入“绘图”,按下回车。会进入绘图下的子菜单,分别输入直线、三角形、正方形。 依次双击新建的按钮 或者 右键选择属性(直线、三角形、正方形),将其“属性”中的“弹出菜单(pop up)”改为False,一般默认False,不需更改。 更增添的按钮添加响应,右键,选择“添加事件处理程序”。 消息类型选择commend,类列表选择“C+文件名+View”,点击创建。不难看出我在创建工程时的文件名是CMFCApplication1。 经历上一步,跳转到 “文件名+View.cpp” 的文件中,在函数 “void CMFCApplication1View::On32771()” 下,找到的 “// TODO: 在此添加命令处理程序代码”,输入按下按钮需要执行的操作即可。 直线代码: CClientDC dc(this); CPen NewPen; //创建画笔 //PS_SOLID 实线,PS_DASH 虚线,PS_DOT 点线,PS_DASHDOT 点化线,PS_DASHDOTDOT 双点化线 NewPen.CreatePen(PS_SOLID, 5, RGB(255,0,0)); dc.SelectObject(NewPen); dc.MoveTo(30,150);//起点 dc.LineTo(200,10);//终点效果(编译后,点击绘图子菜单的直线,面版上出现一条红色直线):
操作同直线一样,不过多赘述。在此放上代码如下: CClientDC dc(this); CPen pen(PS_SOLID, 5, RGB(138, 43, 226)); CPen* oldPen = dc.SelectObject(&pen); CPoint pt[3] = { CPoint(280,20),CPoint(490,20), CPoint(260,200) }; dc.Polygon(pt, 3);编译效果: 我在画三角形和正方形时,用的都是Ploygon方法,简单的把 pt[3] 改为了pt[4],并在其等号后加了一个点。 代码示例: CClientDC dc(this); CPen pen(PS_SOLID, 5, RGB(50, 205, 50)); CPen* oldPen = dc.SelectObject(&pen); CPoint pt[4] = { CPoint(580,20),CPoint(770,20), CPoint(770,210),CPoint(580,210)}; dc.Polygon(pt, 4);编译结果: ![]() 可以参考上一个正方形的例子,把边框的点改一下,转为矩形。外加一个for循环就可以了。如果想产生动画效果:一步一步向中心收缩的矩形画出,加一个sleep()函数即可。 代码如下: void CMFCApplication1View::On32777() { // TODO: 在此添加命令处理程序代码 CClientDC dc(this); CPen pen(PS_SOLID, 3, RGB(0,128,255)); CPen* oldPen = dc.SelectObject(&pen); for (int i = 0; i |
CopyRight 2018-2019 实验室设备网 版权所有 |