精品文档
目录
1. 基本功能描述 ............................................................................................................................ 1 2. 设计思路 .................................................................................................................................... 1 3. 软件设计 .................................................................................................................................... 3
3.1 设计步骤 ........................................................................................................................... 3 3.2 界面设计 ........................................................................................................................... 8 3.3 关键功能的实现 ............................................................................................................... 9 4. 结论与心得体会 ...................................................................................................................... 10 5. 思考题 ...................................................................................................................................... 10 6. 附录 .......................................................................................................................................... 11
6.1 调试报告 ......................................................................................................................... 11 6.2 测试结果 ......................................................................................................................... 11 6.3 关键源代码 ..................................................................................................................... 12
.
精品文档
简单画图程序
1. 基本功能描述
简单画图程序实现了常见图形的绘制、图形属性的设置和图形数据的暂存等功能。该程序的具体功能模块包括以下几项:
1) 图形绘制模块。该模块实现直线段、椭圆、矩形等图形的绘制功能。在鼠标移动的过程中能实时显示当前绘制的图形。
2) 图形属性设置模块。该模块实现绘图线条的线宽,线色,图形填充色等属性设置功能。
3) 图形数据暂存模块。该模块实现直线段、椭圆、矩形等图形数据暂存功能,涉及图形的坐标、线宽、线色、填充色等数据。
2. 设计思路
1) 对需要用到的变量进行初始化。
2) 选择相应的图形之后就响应相应的消息处理函数,给shape赋对应的值。选择不同的线宽,线色与填充色,即可改变画笔或画刷的属性。
3) 鼠标的按下响应函数OnLButtonDown(),捕捉鼠标当前位置得到起点的坐标,鼠标的拖动响函数OnMouseMove()改变终点的坐标,鼠标的弹起响应OnLButtonUp(),确定终点坐标,刷新,得到绘制图形。
4) 选择图形或其它属性,可进行下一次绘制。 5) 程序的流程图如下:
.
开始 定义并初始化变shape 线色m_ncolor 填充色 m_fcolor 画笔pen画刷brush绘图起点opoint绘图终点cpoint 选择线宽 精品文档
.
改变画笔属性 默认值(W=1) 选择线色 改变画笔属性 默认值(黑色) 选择填充 改变画刷属性 默认值(白色) 直线 矩形 椭圆 响应函数 OnLine() shape=1 响应函数 OnRect() shape=2 响应函数 OnEllipse() shape=3 鼠标左键按下 响应函数OnLButtonDown() opoint=point 精品文档
鼠标移动 响应函数OnMouseMove()epoint=point 响应OnPaint(),绘制图形 鼠标左键弹起响应函数OnLButtonUp() 刷新,得到图形 结束 图1 程序流程图
3. 软件设计
3.1 设计步骤
1) 创建单文档
创建一个MFC AppWizard[exe]工程,命名为“LiYuJing”,如图1所示,并创建单文档,如图2所示。创建成功后,系统自动生成相应的类,如图3所示。
图2 创建工程
.
精品文档
图3 创建单文档
图4 生成类
2) 编辑菜单
添加需要的菜单项,如图4所示;并在菜单的属性中设定好所对应的ID,如图5所示,各项菜单对应的ID如表1所示(其中线宽菜单为弹出菜单,只需在菜单项目属性中的弹出选项前打勾即可,分隔线亦只需在菜单项目属性中选中分隔符选项即可)。
.