1 / 19
文档名称:

简单绘图程序实验报告.docx

格式:docx   大小:146KB   页数:19页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

简单绘图程序实验报告.docx

上传人:sssmppp 2021/3/3 文件大小:146 KB

下载得到文件列表

简单绘图程序实验报告.docx

相关文档

文档介绍

文档介绍:(基于MFC程序设计)
题 目: 简单的绘图程序
院系专业:XX学院 XX专业
姓 名: XXX
学 号:XXXXXX
同组其他学生(学号):
简单绘图程序说明
1、功能分析
目前这个软件的主要功能有如下:
1、 画直线:通过OnLine()函数实现。
2、 画矩形:通过OnRectangle。函数实现。
3、 画圆角矩形:通过OnRoundrect()函数实现。
4、 画椭圆:通过OnEllipse。函数实现。
5、 铅笔工具:可以画任意线条。通过直接在OnMouseMove(UINT nFlags, CPoint point)函数里面添加代码实现。
6、 右键弹出菜单:可以在客户中点击鼠标右键,快速选择常用菜单。通过 OnContextMenu 函数实现。
7、 状态栏显示鼠标移动的坐标:在程序的右下角显示,通过调用setWidnowText 和 GetParent()实现。
8、 画图颜色选择:可以画任何颜色的线条,通过OnColor()函数实现。
9、 线条类型及线宽的设置:可以将画出的线条设置成实线、虚线、点线、点划 线,双点划线,还可以设置线条的粗细,,通过实例这一功能立刻显示所选择 线条的粗细及线型。通过新建CLineSettingDlg类,其中OnSelchangeLineStyle。 函数实现线型的改变,OnChangeEditLineWidth()函数实现线宽的改变。再在 CDrawView类中调用OnLineSetting()函数实现画笔的对话框, CLineSettingDlg类中的OnPaint ()函数是实现示例功能的。
10、 窗口的重绘时不擦除原来的内容:新建CShape类用来保存线条的颜色,线 宽,填充色等属性,在窗口大小发生变化时有OnDraw(CDC* pDC)函数进行 重绘工作,重绘中调用了各个绘图函数的Draw(CDC *pDC)函数。
11、 所绘图形的保存于读取,通过Serialize(CArchive &ar)函数进行序列化操作,
将所绘图形的信息通过文件的形式保存起来。
2、系统总体框架
图1总体框架
3、模块设计与分析
:该模块的大部份功能都写在了 CDrawView类里面。该模块也 是此次程序的重点模块之一,主要负责画一些简单图形,例如:直线、矩形、圆 角矩形、椭圆、任意曲线(铅笔)等等;有线型、线宽的设置;还有画笔颜色和填 充色的选择,可以画各种各样颜色的线条;还包含的右键菜单设置的函数。
:这部分大多数都是编译器自动生成,只做了一些修改,例如: 使程序一开始运行便最大话,还是自定义程序的标题。
:该部分同样大部分都是编译器自动生成的,自己增添了一部 分菜单例如:绘图工具、颜色设置、线条设置等等。还有右键弹出菜单,有颜色 及线条设置等等,让使用者可以进行快速的操作。
:除了编译器自动生成的之外,还加入了画直线、 矩形、圆角矩形、椭圆、铅笔等工具的快速选择,状态栏可以显示鼠标移动的坐 标。
4、类的设计与分析
、CAboutDlg 类
由编译器生成,只做了一处的修改:
m_pMainWnd->SetWindowText(_T(n简单绘图工具”)); 〃设定主框架窗口标题
> CDrawView 类
由编译器自动生成的类
表1 CDrawV i ew类说明表
名称
属性
说明
m_flag
数据成员
用于选择图形的类型(百线,矩形,椭圆等)
m_lMouseDown
数据成员
用于判断鼠标按下的消息响应
m_ptOld
数据成员
画图的临时点(也是绘图结束的终点)
m_ptOrigin
数据成员
画图的起点
m_color
数据成员
画笔颜色选择
m_vLineWidth
数据成员
指向颜色表的指针
m_vLineStyle
数据成员
线条风格选择
OnContextMenu()
成员函数
右键弹出菜单
OnDraw()
成员函数
窗口重绘
OnEditColor()
成员函数
颜色选择
OnLine()
成员函数
画直线
OnRectangleQ
成员函数
画矩形
OnRoundrect()
成员函数
画圆角矩形
OnEllipse()
成员函数
画椭圆
OnColor()
成员函数
改变线条颜色
OnFillcolor()
成员函数
改变填充色
OnLButtonDown()
成员函数
鼠标按下响应函数
OnLButtonUpQ
成员函数
鼠标弹起响应函数
OnMouseMove()
成员函