简单画图程序的设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

面向对象程序设计

课程设计报告

设计题目:简单画图程序的设计

学院:信息工程学院

专业:计算机科学与技术(交通)学号:201224020326

姓名:房战锋

同组同学学号:201224020325

指导教师:张少博

2013 年12 月24 日

目录

第一章:设计目的及内容 (2)

1.1【设计目的】 (2)

1.2【设计内容】 (2)

第二章:基本功能概述 (3)

2.1【工程的新建】 (3)

2.2【单文档简介】 (4)

2.3【添加消息响应函数】 (5)

2.4【资源】 (5)

2.5【设备环境】 (6)

第三章:设计思路 (6)

第四章:软件设计 (7)

4.1【设计步骤及关键代码】 (7)

4.1.1【点、直线、矩形、椭圆的绘制】 (9)

4.1.2【连续线及扇形的绘制】 (11)

4.1.3【画刷】 (12)

4.2【设置对话框】 (14)

4.3【颜色】 (14)

4.4【打开与保存】 (15)

第五章:结论与心得体会 (16)

参考文献: (17)

附录: (18)

【调试报告】 (18)

【测试结果】 (18)

【关键代码】 (18)

第1章:设计目的及内容

1.1【设计目的】

1 学习Visual C++的MFC开发程序的步骤。

2 综合运用所学的类、继承和多态的知识。

3 进一步掌握程序的调试方法。

1.2【设计内容】

1利用MFC的向导,创建基于单文档的应用程序;

2 编程实现,绘制线、圆、矩形的功能;

3 能够设定当前要画的图形样式(最少为以上3种)和图形颜色(最少能够设为以下

4 种颜色:黑、红、绿、蓝)。

4 当窗口重绘后,还能保持原来的图形。

5 选做1:能够选中某些已绘制的图形,并删除之。

6 选做2:能够保存已绘制的图形,下次打开时恢复原状。

第2章:基本功能概述

2.1【工程的新建】

打开Microsoft Visual C++ 6.0 —> 点击File —> New 在Projects中选择MFC AppWizard (exe) ;在Project name中输入工程的名字Graphic,在Location中选择工程存放的路径。填完后点击OK按钮。(如图1)填完后点击OK按钮,弹出对话框(如图2)。在弹出来的对话框中我们可以选择生成三种不同类型的应用程序:单文档、多文档、对话框。

单文档程序如记事本,在一个应用程序中只能对一个文档进行操作,降低了编程的复杂度并减少了运行程序时所需的资源。对某些小型应用(比如文本编辑器或小型图像编辑器)可以采用这种类型的窗口应用程序。

在这个程序中,我们就需要单文档,选择完后点击Next,设置默认,最后点击Finish 完成工程的创建。

图1

图2

2.2【单文档简介】

生成单文档程序后,进行编译,在运行,我们可以看到以下的结果。如图3

图3

在ClassView中,我们可以看到系统自动为我们生成了五个类:CApp , CDoc , CView , CAboutDlg , CMainFrame。如图4

图4

CApp相当于C语言中的main()函数。是程序的起始。

CDoc是用于处理程序中文档的类。

CView主要是处理客户区的可视化的操作的类。

CAboutDlg是处理关于对话框的类。

CMainFrame是非客户区的一些资源的类。

我们主要是对CView 类进行操作。

2.3【添加消息响应函数】

系统为我们生成了一个程序的框架,但是这个框架完成不了什么具体的功能。为了使程序程序完成我们想要做的事,我们要向这个框架中加入一些代码。 VC++程序的运行并不像C语言是按照顺序运行下来的。每当我们完成一个事件,系统就会发出特定的消息,程序就会跳到相应的消息响应函数中执行里面的代码。单击菜单中的View->Class Wizard(或按快捷键Ctrl+W),将会弹出MFC Class Wizard对话框。在Class Name中选择CView,在Messages中选择WM_LBUTTONDBLCLK,点击右边的Add Function按键。这样我们就为程序添加了鼠标左键双击的消息响应函数,函数名为OnLButtonDblClk(UINT nFlags, CPoint point)。我们点击Edit Code按键就可以进入消息响应函数中。我们在消息响应函数中添加如下代码:AfxMessageBox(“Hello Word!”); 运行程序!当我们在客户区中双击鼠标左键时,我们可以看到效果(如图5)。我们在完成双击鼠标左键这个事件后,Windows便会发出WM_LBUTTONDBLCLK这条消息。我们的程序收到这个消息后,就会跳转到鼠标左键双击的消息响应函数内,执行里面的代码。同样的,我们可以添加其他的消息响应函数,如鼠标左键按下,抬起,鼠标移动等(WM_LBUTTONUP、WM_LBUTTONDOWN、WM_MOUSEMOVE等)。我们程序就是在这样的消息响应机制下运行的。

图5

2.4【资源】

在ResoureView 里,我们可以编辑对话框、菜单、工具条、快捷键等资源。点开Menu,可以看到一个ID为IDR_MAINFRAME的菜单。ID是一个标识,实际上是一个无符号整型常量,每一个资源在程序中都有一个唯一的ID号。双击IDR_MAINFRAME,在右边的视图中双击帮助右边的虚线框,弹出菜单属性,在Caption中输入“画图”,并将其关闭。双击画图菜单

相关文档
最新文档