简易画图板的设计与实现

简易画图板的设计与实现

ID:37780261

大小:358.67 KB

页数:18页

时间:2019-05-31

简易画图板的设计与实现_第1页
简易画图板的设计与实现_第2页
简易画图板的设计与实现_第3页
简易画图板的设计与实现_第4页
简易画图板的设计与实现_第5页
资源描述:

《简易画图板的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、专业课程设计(2011/2012学年第2学期)题目一:简易画图板的设计与实现专业计算机通信学生姓名韩亮班级学号09002736指导教师王海艳指导单位计算机学院·计算机科学与技术系日期2012年6月20日教师评语教师签名:年月日成绩评定备注一、课题名称设计题目1:简易画图板的设计与实现二、课题内容和要求利用MFC完成画图板的基本功能。此程序将实现简单的绘图功能,包括点、直线、矩形、椭圆、扇形和连续线的绘制。并且能实现绘图的控制,包括线宽、线型和颜色的设置,图形的保存和打开以及笔刷的使用。三、需求分析1)在单文档菜单中,在菜单行

2、中可插入一个菜单项,命名为绘图,在下拉菜单中可分别设置绘制的图形形状,如直线、矩形及椭圆,线宽选项,有1-5可供选择,还可以设置线色以及填充色,通过弹出的颜色对话框选择需要的颜色,如果不选择线宽、线色以及填充色,则按默认的画笔,画刷来绘制选择的图形。2)选择好图形后,通过鼠标可以绘制出相应的直线,矩形或椭圆,鼠标的按下确定图形的起点,鼠标的拖动则确定了图形的终点,即通过鼠标的拖动来决定图形的大小,当鼠标弹起,此图形则绘制完毕。3)增添工具栏,设置绘制的图形形状,线色以及填充色,可更方便地选择相应的功能。四、概要设计1)对需要

3、用到的变量进行初始化。2)选择相应的图形之后就响应相应的消息处理函数,给shape赋对应的值。选择不同的线宽,线色与填充色,即可改变画笔或画刷的属性。3)鼠标的按下响应函数OnLButtonDown(),捕捉鼠标当前位置得到起点的坐标,鼠标的拖动响函数OnMouseMove()改变终点的坐标,鼠标的弹起响应OnLButtonUp(),确定终点坐标,刷新,得到绘制图形。4)选择图形或其它属性,可进行下一次绘制。开始定义并初始化变shape线色m_ncolor填充色m_fcolor画笔pen画刷brush绘图起点opoint绘图

4、终点cpoint选择线宽默认值(w=1)改变画笔属性选择线色默认值(黑色)改变画笔属性选择填充色默认值(黑色)改变画刷属性椭圆矩形直线响应函数OnEllipse()shape=3响应函数OnLine()shape=1响应函数OnRect()shape=2鼠标左键按下响应函数OnLButtonDown()opoint=point鼠标移动响应函数OnMouseMove()epoint=point响应OnPaint(),绘制图形鼠标左键弹起响应函数OnLButtonUp()刷新,得到图形结束图1程序流程图五、详细设计1)创建单文档

5、2)编辑菜单3)创建工具栏4)在相应消息函数处添加代码,实现其功能5)选择要绘制的图形6)改变线宽7)改变线色8)绘制图形9)关键代码//GraphicView.cpp:implementationoftheCGraphicViewclass//#include"stdafx.h"#include"Graphic.h"#include"GraphicDoc.h"#include"GraphicView.h"#include"SettingDlg.h"#ifdef_DEBUG#definenewDEBUG_NEW#undefT

6、HIS_FILEstaticcharTHIS_FILE[]=__FILE__;#endif///////////////////////////////////////////////////////////////////////////////CGraphicViewIMPLEMENT_DYNCREATE(CGraphicView,CView)BEGIN_MESSAGE_MAP(CGraphicView,CView)//{{AFX_MSG_MAP(CGraphicView)ON_COMMAND(IDM_DOT,OnDot

7、)ON_COMMAND(IDM_ELL,OnEll)ON_COMMAND(IDM_LINE,OnLine)ON_COMMAND(IDM_RECT,OnRect)ON_WM_LBUTTONDOWN()ON_WM_LBUTTONUP()ON_COMMAND(IDM_SETTING,OnSetting)ON_COMMAND(IDM_COLOR,OnColor)ON_WM_MOUSEMOVE()//}}AFX_MSG_MAP//StandardprintingcommandsON_COMMAND(ID_FILE_PRINT,CVie

8、w::OnFilePrint)ON_COMMAND(ID_FILE_PRINT_DIRECT,CView::OnFilePrint)ON_COMMAND(ID_FILE_PRINT_PREVIEW,CView::OnFilePrintPreview)END_MESSAGE_MAP()///

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。