计算机程序设计实践--mfc画图软件

计算机程序设计实践--mfc画图软件

ID:12524198

大小:119.23 KB

页数:21页

时间:2018-07-17

计算机程序设计实践--mfc画图软件_第1页
计算机程序设计实践--mfc画图软件_第2页
计算机程序设计实践--mfc画图软件_第3页
计算机程序设计实践--mfc画图软件_第4页
计算机程序设计实践--mfc画图软件_第5页
资源描述:

《计算机程序设计实践--mfc画图软件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、计算机程序设计实践课程设计报告交互式绘图程序1.引言计算机的发展也是计算机语言的发展得到了很大的提高,人们的生活中离不开图像,除了我们可以用铅笔在纸上画图外,我们也可以在电脑上绘制我们的想象,本实验就是基于VC++的一个小型的绘图软件。目的:1.掌握用VC++6.0开发环境开发软件的方法;2.熟悉获得帮助的方法;3.掌握SDI应用程序结构,熟悉基于对话框的应用程序编程方法;4.掌握用资源编辑器进行图标,菜单,工具栏,对话框等资源的编辑;5.掌握对话框,常用控件的使用方法;6.熟悉文档/视图结构,掌握文档和视图的相互控制技巧;2.需求分析2.1系统功

2、能分析自定义一个工具栏,工具栏提供功能按钮,实现简单基本图形的绘制,如直线、矩形、圆形、椭圆形、扇形,多边形,填充色等。实现对图形的交互编辑,如修改颜色和线型等;2.2系统设计目标本系统实现了绘图程序的基本功能,新建的工具栏中包含了绘图的基本按钮,例如点,直线,矩形,圆,扇形,五角星,多边形,填充色等在菜单栏中加入了对图形的基本编辑,比如对图形边框的颜色,线型,线宽等编辑在工具中加入了连续画笔这一功能,使大家可以在电脑上和在纸上一样自由的画图。3.系统设计3.1系统功能设计CGraphicsCCGraphicsViewCSettingDlg工具栏和

3、菜单栏的命令响应函数编辑类的消息响应函数鼠标的消息响应函数3.2系统工作流程CCGraphicsDocCCGraphicsViewCAboutDlgCCGraphicsApp3.3类设计与类结构CGraphicsCAboutDlgCCGraphicsAppCCGraphicsDocCCGraphicsViewCMainFrameCSettingDlgGlobals编辑类的消息响应函数鼠标的消息响应函数工具栏和菜单栏的命令响应函数3.4开发与运行环境MicrosoftVisualc++6.04设计与实现设计的界面为下图所示1.添加消息响应函数OnSe

4、tting(),并添加头文件"SettingDlg.h",在view类中添加成员变量m_nLineWidth,初始化。给单选按钮增加成员变量m_nLineStyle,初始化。2.当用户点击OK时,将其保存:CSettingDlgdlg;dlg.m_nLineWidth=m_nLineWidth;/*保存用户设定的值*/dlg.m_nLineStyle=m_nLineStyle;if(IDOK==dlg.DoModal()){m_nLineWidth=dlg.m_nLineWidth;/*点击确定时保存下来*/m_nLineStyle=dlg.m_n

5、LineStyle;}3.对颜色这一项增加命令响应,创建dlg对象,并在view类中增加成员变量m_clr,初始化:CColorDialogdlg;dlg.m_cc.Flags

6、=CC_RGBINIT;/*标记*/dlg.m_cc.rgbResult=m_clr;/*保存用户设定的值*/if(IDOK==dlg.DoModal()){m_clr=dlg.m_cc.rgbResult;/*点击确定时保存下来*/}4.添加绘图菜单,添加菜单项,并添加消息响应函数,如下图所示:5.在之前的OnLButtonUp函数中加入画笔函数,并将之前设定的m_nLi

7、neStyle,m_nLineWidth,m_clr作为画笔函数的形参添加到其中,并作为nDrawType=9对其进行响应:CClientDCdc(this);CPenpen(m_nLineStyle,m_nLineWidth,m_clr);/*绘制画笔*/dc.SelectObject(&pen);6.捕获鼠标移动命令并将画笔函数写入其中:dc.MoveTo(m_ptOrigin);dc.LineTo(point);m_ptOrigin=point;7.对填充色增加命令响应,在响应函数中将nDrawType=10写在里面,在OnLButtonUp

8、中编写函数:CBrushbrFill;brFill.CreateSolidBrush(m_clr);pBrush=dc.SelectObject(&brFill);dc.ExtFloodFill(point.x,point.y,dc.GetPixel(point),FLOODFILLSURFACE);dc.SelectObject(pBrush);8.对橡皮增加命令响应,在响应函数中将nDrawType=11,写在里面,,在OnMouseMove中编写函数:CClientDCdc(this);CPenpen(0,10,RGB(255,255,255

9、));dc.SelectObject(&pen);dc.MoveTo(m_ptOrigin);dc.LineTo(poin

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

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

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