MFC课程设计实验报告

2019-09-02 13:38

《面向对象可视化对象编程》课程设计

总结报告

班级: 学号: 姓名:

2016.12.12-2016.12.23

MFC—课程设计

目录

一、课程设计的目的 ....................................................................................................................... 3 二、课程设计的内容与设计思路 ................................................................................................... 3

1.课设内容 ................................................................................................................................ 3 2.设计思路 ................................................................................................................................ 4 三、程序实现过程与细节 ............................................................................................................... 5

1.涉及的主要函数列表 ............................................................................................................ 5 2.工程的新建 ............................................................................................................................ 7 3.建立图元属性对话框 ............................................................................................................ 7 4.控件的关联 ............................................................................................................................ 9 5.枚举型.................................................................................................................................. 10 6.定义动态数组 ...................................................................................................................... 11 7.建立Shape类及其子类 ...................................................................................................... 12 8.OnDraw() ..................................................................................................................... 15 9. 鼠标左键消息响应函数 .................................................................................................... 16 10.鼠标右键双击消息响应函数 ............................................................................................ 17 11.颜色按钮 ......................................................................................................................... 18 12.获取鼠标点击处的逻辑坐标 ......................................................................................... 19 13.对话框中控件的显示与隐藏 ............................................................................................ 19 14.文档的存取 ........................................................................................................................ 20 四、运行效果 ................................................................................................................................. 21

1.编译运行,按下Ctrl+鼠标左键 ......................................................................................... 21 2.选择文本,弹出角度框 ...................................................................................................... 21 3.创建正方形、圆形、文本 .................................................................................................. 22 4.创建三角形和椭圆 .............................................................................................................. 22 5.单击鼠标左键修改正方形和文本属性 .............................................................................. 23 6.右键双击删除三角形 .......................................................................................................... 23 7.保存退出 .............................................................................................................................. 24 五、设计小结 ................................................................................................................................. 24 六、主要代码清单 ......................................................................................................................... 25

1.Shape.h ............................................................................................................................. 25 2.Shape.cpp ............................................................................................................................. 29 3.LwhView.cpp ........................................................................................................................ 44

2

MFC—课程设计

一、课程设计的目的

1. 参加本课程设计的同学已经学习了《C语言程序设计》和《面向对象可视化编程》两门课程,现在需要通过一个相对实际性的开发过程来巩固与鉴定一下学习成效,可以查看离实际需要还有哪些部分没有完全掌握,需要加强检测;

2. 本课程设计可以提供一个稍微具有规模的程序开发的例子,让同学们可以体会到程序的构思、编码以及调试的完整过程,最后并总结课程设计的过程;

3.通过本次课程设计,可以对自身做一个评估,看看在哪方面不足从而加强学习;

二、课程设计的内容与设计思路

1.课设内容

要求:采用单文档方式,文档中存储图形画面的各个图元数据,视图负责图形的绘制。文档支持图形的序列化(连载),提供新建、打开、保存等操作。视图除了绘制图形,还提供图形交互,能够按住Ctrl键再鼠标左键单击来创建图元,鼠标左键双击编辑修改图元属性,鼠标右键双击删除图元。图元创建与修改时的参数由参数对话框来编辑。创建时以鼠标左击时光标的所在位置作为基点来创建图元。

SquareTriangleRectanglehwwwrhwCircleEllipsehgtznYaaitysrivene UText

3

MFC—课程设计

2.设计思路

我们的最终目的是显示一个单文档窗口,且可利用从对话框中输入的数据绘制图形。所以,首先建立一个单文档程序,再添加对话框,用来创建与修改图形参数,之后给对话框中的各复选框,编辑框,按钮添加消息响应函数,进行控件关联,并利用枚举型使参数传递。定义一个动态数组以存储从对话框中获取的数据,之后添加Shape类,用来绘图,由Shape类定义一个指针指向动态数组,便可从中读出之前存储的数据进行绘图,从而达到目的,思路图参考如图1,2:

图1.Shape的六个派生类

图2.工程思路图解

4

MFC—课程设计

三、程序实现过程与细节

1.涉及的主要函数列表

附表1

函数定义与功能一览表

序号 1 2 函数名 OnInitDialog() OnOk() 函数定义 BOOL CType::OnInitDialog() void CType::OnOK() 定义所在文件名 Type.cpp Type.cpp 函数功能 对对话框进行初始化处理 按确定按钮时调用 按下按钮,弹出颜色选择对话框 按下按钮,弹出颜色选择对话框 应用程序窗口的客户区进行绘图 按下鼠标左键,执行该函数 双击鼠标右键时,执行该函数 选择图元属性组合框时,显示或隐藏某个编辑框 将表单内容序列化 3 OnFillColorButton() void CType::OnFillColorButton() Type.cpp 4 OnLinelColorButton() void CType::OnLineColorButton() Type.cpp 5 OnDraw() void CLwhView::OnDraw(CDC* pDC) LwhView.cpp 6 OnLButtonDown() void CLwhView::OnLButtonDown(UINT nFlags, CPoint point) void CLwhView::OnRButtonDblClk(UINT nFlags, CPoint point) LwhView.cpp 7 OnRButtonDblClk() LwhView.cpp 8 OnSelchangeComBoxTuYuanType() void LwhView.cpp CType::OnSelchangeComBoxTuYuanType() 9 Serialize() void CSquare::Serialize(CArchive &ar) void CRectangle::Serialize(CArchive &ar)

Shape.cpp

5


MFC课程设计实验报告.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:高中数学实施分层教学的研究

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: