此处使用的环境是Visual Studio 2012,版本的不同可能涉及部分操作不同。


一、创建一个MFC工程

1、双击启动visual studio,从起始页选择“新建项目”。

2、弹出如图所示界面,左侧选择“visual c++语言”,中间选择“MFC 应用程序”,修改名称以及存储位置,点击“确定”。

3、然后一路点击下一步(或者直接点击“完成”),则自动生成一个MFC 应用程序

4、点击启动调试工具拦(绿色三角)或者按F5则系统调试运行,在弹出界面中选择 “是”,弹出程序运行界面

二、新建菜单

1、选择视图—资源视图

2、选择Menu—文件名+TYPE,如果底下没有子菜单,则将其属性中的POPUP改为false。

三、实现画直线段,画矩形,画三角形

1、在“请在此键入”处,依次输入名称

2、右击“直线”,点击“添加事件处理程序”

3、消息类型为“COMMAND”,类列表选择“文件名+view”,点击“添加编辑”

4、在“// TODO: 在此添加命令处理程序代码”处编辑代码

直线代码:

CClientDC dc(this);CPen NewPen;NewPen.CreatePen(PS_SOLID,3,RGB(255,0,0));dc.SelectObject(NewPen);dc.MoveTo(20,30);dc.LineTo(200,300);

5、运行程序

点击“本地Windows调试器”,在程序运行界面中点击“简单图形”,选择直线(1处自己命名的名称)

生成结果

矩形、三角形图形生成过程与直线相同

矩形代码:

…void CMFCApplication2View::On32772()
{// TODO: 在此添加命令处理程序代码CClientDC dc(this);CPen NewPen;NewPen.CreatePen(PS_SOLID,3,RGB(255,0,0));dc.SelectObject(NewPen);dc.MoveTo(20,30);dc.LineTo(20,300);//左侧竖线dc.MoveTo(400,30);dc.LineTo(400,300);//右侧竖线dc.MoveTo(20,30);dc.LineTo(400,30);//上方横线dc.MoveTo(20,300);dc.LineTo(400,300);//下方横线}

三角形代码

…void CMFCApplication2View::On32773()
{// TODO: 在此添加命令处理程序代码CClientDC dc(this);CPen NewPen;NewPen.CreatePen(PS_SOLID,3,RGB(255,0,0));dc.SelectObject(NewPen);dc.MoveTo(20,30);dc.LineTo(20,100);//直角边dc.MoveTo(20,30);dc.LineTo(200,30);//直角边dc.MoveTo(200,30);dc.LineTo(20,100);//斜边}

注意:保存退出vc++2012,要再次进入刚才建立的应用程序,直接点击程序文件夹内的“MFCApplication2.sln”即可。

计算机图形学——MFC绘图基础相关推荐

  1. 计算机图形学MFC绘图作业__在VS2017上的使用指南与编码示例

    1)首先打开"Visual Studio Installer",如图: 2)单击"修改": 3)按如图顺序点击: 4)静静等待加载,最后按启动,并按" ...

  2. 计算机图形学实验一 《MFC绘图基础》

    计算机图形学实验一 <MFC绘图基础> 视频讲解:无没啥讲的,有一些东西在实验二视频提了一下 一.MFC介绍 1.基本介绍: MFC是微软公司提供的一个类库,以C++类的形式封装了Wind ...

  3. 计算机图形学真实绘图实验报告,计算机图形学实验报告.doc

    文档介绍: 中南大学信息科学与工程学院 实验报告 实 验 名 称 实 验 地 点 科技楼四楼 实 验 日 期 2014年6月 指 导 教 师 学 生 班 级 学 生 姓 名 学 生 学 号 提 交 日 ...

  4. 计算机图形学-MFC界面分屏操作

    进一步美化页面啦 在MFC 框架中,为我们提供了一个csplitterwnd 类--拆分窗口类,提供分离窗口的功能. 在框架类 CMainFrame中,我们要添加一个csplitterwnd 类型的成 ...

  5. 【计算机图形学】OpenGl基础

    文章目录 OpenGL 配置 单位 相关的库 lib和dll区别 怎样理解跨平台性 什么是回调函数 命名规则 为什么重定义? 如何绘制图元(Primitive) 基本图元 去哪里查 为什么有时候看不见 ...

  6. 计算机图形学一:基础变换矩阵总结(缩放,旋转,位移)

    变换矩阵总结 摘要 1 2D线性变换 1.1 缩放(scaling) 1.2 剪切(shearing) 1.3 旋转(rotation) 2 3D线性变换 2.1 3维缩放(scaling),剪切(s ...

  7. 计算机图形学-颜色科学基础

    1.物体的颜色: 2.颜色视觉机理: 三原色(不解释色盲) 对立颜色(四色学说:不解释红绿蓝产生所有颜色) 3.颜色空间: 与图形处理相关的颜色空间: RGB.CMY 与设备无关: CIE XYZ.C ...

  8. 【计算机图形学课程】一.MFC基本绘图函数使用方法

    这是最近我<计算机图形学>课程实践编程课介绍的相关知识,主要是想通过MFC C++绘图,让学生体会下图形学相关的编程及简单的图形绘制,同时非常佩服学生的想象力,他们做得真的不错.希望这篇基 ...

  9. 什么是计算机图形学?(转自中国科学技术大学-刘利刚)

    (如需交流,请关注公众号:神马观止) [注] 由于时常有本科学生来向笔者询问计算机图形学是做什么的,为了使得学生能够快速了解计算机图形学,有利于他们在选择研究生方向做出适合自己的选择,特撰写此文.本文 ...

最新文章

  1. Node.js项目实践:构建可扩展的Web应用
  2. menu.php,menu.php
  3. 模块全解======ruby的类是单继承生物、所以出现了module、实现了多继承
  4. LeetCode Algorithm 389. 找不同
  5. [No000013D].Net 项目代码风格参考
  6. 【Spring MVC】 maven pom.xml 错误: Cannot upgrade/downgrade to Dynamic Web Module 3.0 facet.
  7. 容器+AOP实现动态部署(四)
  8. Mysql 中 delete 与 left join 的问题
  9. MVC初学 - The type or namespace name 'DbContext' could not be found
  10. 【转】数据安全优秀思想
  11. string time java,【JAVA】之【string转time方法】
  12. linux下使用vi操作
  13. html audio无法播放,audio 无法播放的问题
  14. 一图看完双11阿里云原生技术亮点
  15. 【Keras】LSTM和Bi-LSTM神经网络
  16. python中的snip用法_Ubuntu系统中安装SNIP
  17. 推箱子c语言代码有注释,C语言代码实现推箱子小游戏
  18. 打开dashboard报错:xcelsius已经停止工作
  19. svn 禁止访问的问题
  20. Java中文生僻字排序

热门文章

  1. python绘制激活函数图像
  2. 文献阅读 ——— Pre-train, Prompt, and Predict: A Systematic Survey of Prompting Methods in NLP
  3. conenct的用法(2种方法)
  4. 刷题打卡一刷完成 总结
  5. 为iPhone日历添加天气和农历
  6. 光量子领域新突破:有望打造芯片工厂!
  7. Jupyter notebook用谷歌浏览器打开
  8. SQL Server向上取整、向下取整、四舍五入解析说明
  9. 以EV录屏为例详细讲解-录屏,开直播的全局配置
  10. AngularJS学习之angular.extend用法实例