c++简单画图程序 whut.doc

c++简单画图程序 whut.doc

ID:48535355

大小:262.20 KB

页数:25页

时间:2020-01-26

c++简单画图程序 whut.doc_第1页
c++简单画图程序 whut.doc_第2页
c++简单画图程序 whut.doc_第3页
c++简单画图程序 whut.doc_第4页
c++简单画图程序 whut.doc_第5页
资源描述:

《c++简单画图程序 whut.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、武汉理工大学《面向对象程序设计》课程设计说明书目录1.基本功能描述12.设计思路13.软件设计33.1设计步骤33.2界面设计83.3关键功能的实现94.结论与心得体会105.思考题106.附录116.1调试报告116.2测试结果116.3关键源代码12武汉理工大学《面向对象程序设计》课程设计说明书简单画图程序1.基本功能描述简单画图程序实现了常见图形的绘制、图形属性的设置和图形数据的暂存等功能。该程序的具体功能模块包括以下几项:1)图形绘制模块。该模块实现直线段、椭圆、矩形等图形的绘制功能。在鼠标移动的过程中能实时显示当前绘制的图形。2)图形属性设置

2、模块。该模块实现绘图线条的线宽,线色,图形填充色等属性设置功能。3)图形数据暂存模块。该模块实现直线段、椭圆、矩形等图形数据暂存功能,涉及图形的坐标、线宽、线色、填充色等数据。2.设计思路1)对需要用到的变量进行初始化。2)选择相应的图形之后就响应相应的消息处理函数,给shape赋对应的值。选择不同的线宽,线色与填充色,即可改变画笔或画刷的属性。3)鼠标的按下响应函数OnLButtonDown(),捕捉鼠标当前位置得到起点的坐标,鼠标的拖动响函数OnMouseMove()改变终点的坐标,鼠标的弹起响应OnLButtonUp(),确定终点坐标,刷新,得到

3、绘制图形。4)选择图形或其它属性,可进行下一次绘制。5)程序的流程图如下:开始24武汉理工大学《面向对象程序设计》课程设计说明书定义并初始化变shape线色m_ncolor填充色m_fcolor画笔pen画刷brush绘图起点opoint绘图终点cpoint选择线宽默认值(W=1)改变画笔属性选择线色默认值(黑色)改变画笔属性24武汉理工大学《面向对象程序设计》课程设计说明书选择填充默认值(白色)改变画刷属性椭圆矩形直线响应函数OnLine()shape=1响应函数OnEllipse()shape=3响应函数OnRect()shape=2鼠标左键按下响

4、应函数OnLButtonDown()opoint=point24武汉理工大学《面向对象程序设计》课程设计说明书鼠标移动响应函数OnMouseMove()epoint=point响应OnPaint(),绘制图形鼠标左键弹起响应函数OnLButtonUp()刷新,得到图形结束图1程序流程图3.软件设计3.1设计步骤1)创建单文档创建一个MFCAppWizard[exe]工程,命名为“LiYuJing”,如图1所示,并创建单文档,如图2所示。创建成功后,系统自动生成相应的类,如图3所示。24武汉理工大学《面向对象程序设计》课程设计说明书图2创建工程图3创建单

5、文档24武汉理工大学《面向对象程序设计》课程设计说明书图4生成类2)编辑菜单添加需要的菜单项,如图4所示;并在菜单的属性中设定好所对应的ID,如图5所示,各项菜单对应的ID如表1所示(其中线宽菜单为弹出菜单,只需在菜单项目属性中的弹出选项前打勾即可,分隔线亦只需在菜单项目属性中选中分隔符选项即可)。图5添加菜单项24武汉理工大学《面向对象程序设计》课程设计说明书图6设置菜单ID表1对应菜单ID菜单名ID菜单名ID直线ID_LINE线宽1ID_W1矩形ID_RECT线宽2ID_W2椭圆ID_ELLIPSE线宽3ID_W3颜色ID_COLOR线宽4ID_W

6、4填充色ID_FILLCOLOR线宽5ID_W5建立类向导,在视图类CLiYuJingView中,对各菜单项添加对应的COMMAND消息处理函数,部分菜单项还添加对应的UPDATE_COMMAND_UI消息函数,如图7所示。24武汉理工大学《面向对象程序设计》课程设计说明书图7建立类向导3)创建工具栏在插入处选择资源,新建工具栏,如图8所示;24武汉理工大学《面向对象程序设计》课程设计说明书图8新建工具栏在工具栏上添加相应的按钮,在属性处更改其ID,如图9所示。图9编辑工具栏4)添加鼠标消息处理函数添加鼠标消息处理函数OnLButtonDown()、O

7、nMouseMove()、OnLButtonUp(),利用橡皮筋技术实时显示绘制图形,并绘制最终图形,具体源代码参看附录。添加过程为:选择View菜单下的ClassWizard菜单项打开类向导,在类列表中选择CLiYuJingView类,在消息列表框中选择WM_LBUTTONDOWN消息并用鼠标左键双击,此时类向导自动在成员函数列表框中添加该消息的处理函数。然后再用同样方法添加WM_MOUSEMOVE消息和WM_LBUTTONUP消息的处理函数,如图10所示。24武汉理工大学《面向对象程序设计》课程设计说明书图10添加相应代码3.2界面设计各控件名称,

8、类型,属性以及相关变量如表2所示。表2界面控件表控件名称控件类型属性相关变量绘图下拉式菜单无无

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

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

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