使用MFC编制基于对话Windows应用程序实现画图功能.doc
《使用MFC编制基于对话Windows应用程序实现画图功能.doc》由会员分享,可在线阅读,更多相关《使用MFC编制基于对话Windows应用程序实现画图功能.doc(17页珍藏版)》请在沃文网上搜索。
1、软件设计基础-C+课程设计报告 目 录1.课程设计目的32.课程设计任务与要求33.课程设计说明书44.课程设计过程与成果75.程序调试过程156.设计问题的不足和改进方案167.课程设计心得168.参考文献161课程设计目的课程设计目的:软件设计基础-C+课程设计是这门课程的实践性教学环节之一,本次设计结合实际应用的要求,使课程设计既覆盖C+的知识点,又接近工程实际需要。目的是通过课程设计的综合训练,培养学生实际分析问题、解决问题的能力,以及编程和动手能力,最终目标是通过课程设计这种形式,帮助学生系统掌握C+这门课程的主要内容,养成良好的编程习惯,更好的完成教学任务。题目目的:(1)熟悉MF
2、C消息映射机制,理解发送给窗口的消息是如何被MFC框架通过窗口句柄映射表和消息映射表来用窗口类的函数进行响应的。掌握设备描述表及其封装类CDC的使用以及CDC如何与具体的设备发生关联。(2)培养学生综合利用c+语言进行程序设计的能力,掌握类的概念并进一步熟悉面向对象的程序设计思想。(3)培养学生掌握类间调用的方法。2课程设计任务与要求:要求:本次课程设计利用软件设计基础-C+课程中所学到的编程知识和编程技巧,完成具有一定难度和工作量的程序设计题目,帮助学生掌握编程、调试的基本技能,独立完成所布置的任务。要求:1、对系统进行功能需求分析2、设计合理的数据结构和系统框架3、编程简练,程序功能齐全,
3、能正确运行4、说明书、流程图要清楚5、课题完成后必须按要求提交课程设计报告任务:基本要求:(1)画直线:通过CDC:LineTo()函数实现。(2)画曲线:通过CDC:LineTo()函数实现。(3)画矩形:通过Rectangle()函数实现。(4)利用位图资源填充矩形:通过CBrush类构造函数CBrush(Bitmap*)实现。(5)画扇形:通过CDC:LineTo()函数实现。创新要求:(1)设置透明的刷子(将矩形填充色为透明)。(2)窗口在重绘时不擦出原来的内容:在窗口发生变化时,窗口的内容不消失,程序在窗口尺寸发生变化时,将会发送WM_PAINT消息,这时首先会擦出窗口背景,然后进行
4、重绘操作,这样就把窗口中先前绘制的内容擦除掉了。3课程设计说明书概要设计:主要是模块说明,模块结构图,系统流程图模块说明::在我设计的程序中一共包括了三个模块,分别是:选择画笔模块、绘图模块、退出系统模块。这三个模块仅仅是绘图的三个步骤,具体的涉及到发送给窗口的消息是如何被MFC框架通过窗口句柄映射表和消息映射表来用窗口类的函数进行响应,设备描述表及其封装类CDC的使用以及CDC如何与具体的设备发生关联。可谓环环相扣,紧密联系。模块结构图:实现画图功能 绘图模块退出系统模块选择绘图工具模块详细设计 总体流程图:创建新工程添加菜单资源添加对话框资源添加新类添加消息响应函数添加控件消息响应函数*V
5、iew类内添加1包含语句,包含新类之头文件。2添加变量,在构造函数内初始化。3添加菜单消息响应函数。各功能模块流程图:绘制完成后关闭窗口,结束程序。在窗口中绘制图形。从绘图工具里选择绘图工具,包括:直线,曲线,矩形,扇形,矩形填充。绘图模块选择绘图工具模块退出系统模块4课程设计过程与成果程序源代码,运行结果:(1)新建一个工程。(单文档)(2)添加一个菜单,在这个菜单中添加五个菜单项。菜单名字叫绘图工具,这五个菜单项分别是:直线,曲线,矩形,扇形,矩形填充。(3)在View中对这五个菜单项添加命令响应。(4)编辑代码:先添加一个成员变量,保存用户选择。初始化成员变量:CMyView:CMyVi
6、ew() / TODO: add construction code here m_nDrawType=0; /初始化成员变量 *然后对鼠标左键按下,松开和鼠标移动分别进行捕获(增加Windows消息处理器)。为了保存鼠标左键的点,现在增加成员变量。初始化此点:CMyView:CMyView()/ TODO: add construction code here m_nDrawType=0; /初始化成员变量m_point=0;新建一个位图:再增加一个成员变量:编辑代码:void CMyView:OnLButtonDown(UINT nFlags, CPoint point) /捕获鼠标按下去
7、的命令响应/ TODO: Add your message handler code here and/or call defaultCClientDC dc(this);switch(m_nDrawType) case 1:m_point=point; /保存鼠标按下去的命令响应到成员变量中 break;case 2:m_point=point;/保存鼠标按下去的命令响应到成员变量中m_decide=0;m_point=point; break;case 3:m_point=point;/保存鼠标按下去的命令响应到成员变量中 break;case 4:m_point=point;/保存鼠标按
8、下去的命令响应到成员变量中m_decide=1; m_point=point; break;case 5:m_point=point;/保存鼠标按下去的命令响应到成员变量中 break; case 6:m_point=point; break;CView:OnLButtonDown(nFlags, point);void CMyView:OnLButtonUp(UINT nFlags, CPoint point) /捕获鼠标松开的命令响应/ TODO: Add your message handler code here and/or call defaultCClientDC dc(this
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 使用 MFC 编制 基于 对话 Windows 应用程序 实现 画图 功能