下载此文档

c 课程设计报告(简易画图板).doc


文档分类:办公文档 | 页数:约17页 举报非法文档有奖
1/17
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/17 下载此文档
文档列表 文档介绍
软件工程专业课程设计(2012/2013学年第2学期)题目:简易画图板的设计与实现专业软件工程学生姓名HJC指导教师lsw指导单位电子与信息工程学院软件工程专业日期2013年7月18日教师评语教师签名:年月日成绩评定备注一、课题名称设计题目:简易画图板的设计与实现二、课题内容和要求利用MFC完成画图板的基本功能。此程序将实现简单的绘图功能,包括点、直线、矩形、椭圆、三角形、任意多边形的绘制。并且能实现绘图的控制,包括画笔宽度,画笔样式和画笔颜色,画刷样式,画刷颜色和字体的设置,图形的保存和打开。需求分析1)在单文档菜单中,在菜单行中可插入一个菜单项,命名为绘图工具,在下拉菜单中可分别设置绘制的图形形状,如直线、矩形及椭圆,再插入一个菜单项,命名为设定,可提供画笔、画刷的样式及颜色选择,还有字体的设置。如果不选择,则按默认的画笔,画刷字体来绘制图形。2)选择好图形后,通过鼠标可以绘制出相应的直线,矩形,椭圆,三角形及任意多边形,鼠标的按下确定图形的起点,鼠标的拖动则确定了图形的终点,即通过鼠标的拖动来决定图形的大小,当鼠标弹起,此图形则绘制完毕。3)增添工具栏,设置绘制的图形形状,线色以及填充色,可更方便地选择相应的功能。四、概要设计1)对需要用到的变量进行初始化。2)选择相应的图形之后就响应相应的消息处理函数,给m_shapeType赋对应的值。选择不同的线宽,线色与填充色,即可改变画笔或画刷的属性。3)鼠标的按下响应函数OnLButtonDown(),捕捉鼠标当前位置得到起点的坐标,鼠标的拖动响函数OnMouseMove()改变终点的坐标,鼠标的弹起响应OnLButtonUp(),确定终点坐标,刷新,得到绘制图形。4)选择图形或其它属性,可进行下一次绘制。开始定义并初始化变shape线色m_ncolor填充色m_fcolor画笔pen画刷brush绘图起点opoint绘图终点cpoint选择线宽默认值(w=1)改变画笔属性选择线色默认值(黑色)改变画笔属性选择填充色默认值(黑色)改变画刷属性椭圆矩形直线响应函数OnEllipse()shape=3响应函数OnLine()shape=1响应函数OnRect()shape=2鼠标左键按下响应函数OnLButtonDown()opoint=point鼠标移动响应函数OnMouseMove()epoint=point响应OnPaint(),绘制图形鼠标左键弹起响应函数OnLButtonUp()刷新,得到图形结束图1程序流程图五、详细设计1)创建单文档2)编辑菜单3)创建工具栏4)在相应消息函数处添加代码,实现其功能5)选择要绘制的图形6)改变线宽7)改变线色,画刷颜色等8)改变图形样式,文字样式9)绘制图形10)关键代码①任意多边形的绘制及填充:voidCDrawView::OnLButtonDown(UINTnFlags,CPointpoint) { //TODO:在此添加消息处理程序代码和/lientDCdc(this); if(first) { newpoint[0]=newpoint[1]=point; first=false; } else { newpoint[++count]=point; if(count>=30) { //MessageBox("数组CPointnewpoint[30]下标越界!\a"); return; } (newpoint[count-1]); (newpoint[count]); } CView::OnLButtonDown(nFlags,point); }voidCDrawView::OnLButtonUp(UINTnFlags,CPointpoint) { //TODO:在此添加消息处理程序代码和/lientDCdc(this); (newpoint[count-1]); (newpoint[count]); if(!move) first=true; CView::OnLButtonUp(nFlags,point); }voidCDrawView::OnLButtonDblClk(UINTnFlags,CPointpoint) { //TODO:在此添加消息处理程序代码和/lientDCdc(this); (newpoint[count]); (newpoint[0]); (GRAY_BRUSH); (newpoint,count+1); first=true; move=false; count=1; CView::OnLButtonDblClk(nFlags,point); }voidCDrawV

c 课程设计报告(简易画图板) 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数17
  • 收藏数0 收藏
  • 顶次数0
  • 上传人tmm958758
  • 文件大小233 KB
  • 时间2019-05-25
最近更新