MFC课程实践报告_第1页
MFC课程实践报告_第2页
MFC课程实践报告_第3页
MFC课程实践报告_第4页
MFC课程实践报告_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、中南大学本科生课程设计(实践)任务书、设计报告(C+程序设计基础课程设计)题 目程序设计实践MFC基础学生学号学生姓名指导教师李婌学 院土木工程院专业班级土木1413班指导老师李利明计算机基础教学实验中心2015年7月9日MFC系统摘要 在VC+中使用MFC类库编写简单Windows应用程序。基于课本知识并结合自己所编程序简要介绍MFC:MFC与菜单设计、MFC与对话框设计、MFC与绘图。简述编程中遇到的困难及解决方案,以及由此获得的经验。关键字 MFC,应用程序框架,应用程序向导,消息映射,菜单,对话框,绘图,计算器, 1.MFC系统开发设计思想MFC是微软基于Windows平台下的C+类库

2、集合。MFC包含了所有与系统相关的类,其中封装了大多数的API函数,提高了应用程序框架和开发应用程序的工具,如应用程序向导、类向导、可视化资源设计等高效工具,用消息映射处理消息响应,大大简化了Windows应用程序的开发工作。MFC封装了大部分Windows API函数、数据结构和宏,以面向对象的类提供给程序员,并提供了一个应用程序框架,简化和标准化了Windows程序设计。应用程序框架是一组类构造起来的大模型。它的出现使得开发人员不需要构建程序框架结构,其初始代码可以由应用程序向导自动完成。MFC应用程序向导在帮助程序员创建应用程序框架的同时,自动生成了这个MFC应用程序框架所需要的全部文件

3、。然后程序员;利用资源管理器和类向导(Class Wizard),为程序添加实现特定功能的代码,以实现应用程序所要求的功能。2.MFC系统功能及系统设计介绍在VC+中,可以创建3类典型的Windows应用程序,它们都是通过MFC应用程序向导(App Wizard)创建的:基于对话框的应用程序、单文档界面应用程序、多文档界面应用程序。本文介绍前两种。(1)基于对话框的应用程序对话框是一种特殊类型的窗口,绝大多数Windows程序都通过对话框与用户进行交互。在Visual C+中,对话框既可以单独组成一个简单的应用程序,又可以成为文档/视图结构程序的资源。创建对话框程序一般包括以下步骤: 使用资源

4、编辑器在应用程序中创建用户对话框窗口 放置控件并设置控件属性 为控件连接变量 使用类向导创建与上述用户对话框窗口控件对应的消息处理函数框架 在消息处理函数中写入消息处理代码程序设计实例1:(综合设计题1)程序功能概述:单击确认键后,在右边的编辑框内显示有关信息。最终结果: 实现算法流程图:音乐调试过程中遇到的主要问题及解决的方法;对设计和编码的回顾讨论和分析;改进思想;收获和体会等旅游程序设计实例2:(综合设计题4)程序功能概述:输入一元二次方程ax2+bx+c=0的系数a、b、c,计算并输出方程的根x1、x2有解时,输出方程的根;无解时,用AfxMessageBox函数在窗口中显示“No S

5、olutions!”。算法流程:输入a、b、c,计算b*b-4ac的值,若大于或则等于零,则根据数学知识解出它的根;否则此方程组无解。体会:根据情况的不同设置不同的函数,即使程序可以产生不同的消息,然后处理消息。收获:练习使用AfxMessageBox函数最终结果: 程序设计实例3:(综合设计题2)进行算数运算的计算器程序程序功能概述:包含加、减、乘、除、开方、清零功能;菜单项clear相当于AC,单击about项,窗口显示该程序相关信息。难点:不同按钮对应不同的消息处理函数,数字0-9调用函数相同,其他的按钮功能有一定的差异,要注意其中的区别与联系。收获与体会: 计算器中控件数量多且功能差异

6、比较大,消息处理函数多,编译的时候错误很多,但只能慢慢地改正,要有耐心。吸取教训,在以后的编程中,每输入一个消息处理函数就应编译调试,避免错误越堆越多。 因为要用到一些数学函数,所以要注意头文件的声明,添加“math.h”。 程序总的实现步骤都是差不多的,只是有时候需要加入另外的资源。学习的主要任务是掌握一种方法。(2)单文档界面应用程序(MFC与绘图)使用CDC类成员函数绘制图形的步骤如下: 建立应用程序框架 添加各图形绘制子函数的声明 写入各图形绘制子函数的程序代码 设置逻辑坐标并调用各图形绘制子函数程序设计实例:(综合设计题3)程序功能概述:执行菜单中的“图形参数设置”菜单项,则可弹出一

7、个对话框,设置需要绘制的圆的圆心及填充颜色。退出对话框后可在文档窗口绘制出相应的圆。数据结构:圆心坐标与半径决定图形的位置与大小;三原色的RGB值决定填充的颜色。调试过程遇到的问题及改正方法: 微调控件能调节相应颜色的RGB值原因:各控件的Tab顺序没有调好,文本编辑框与微调控件没有绑在一起改正方法:选择布局Tab顺序,设置各控件顺序 按OK键后无反应原因:没有改变该控件的ID值,而在课本中给出的函数中该ID值已改变。另外,为“图形参数设置”菜单项添加的消息处理函数OnSet()应添加到视图类中。 按课本提供的代码,无法实现所要求的程序功能,即圆内部无填充。原因:刷子用来给图形内部着色,而此处没有创建刷子对象。收获与体会:注意细节之处;对于课本知识要深入了解;敢于质疑;多加思考。3.总结Windows程序的运行过程如下:在这种“消息循环”模式下,我们主要考虑的是某一消息下程序应该干什么。所以我们主要的编程任务就在于消息处理函数的编写。在基于对话框的应用程序设计中,为控件连接了变量成员后,一定要注意执行UpdateData(true)和UpdateData(false)函数,这样才能使控件和变量的改变及时地反馈给对方。我在编程时,常常因为没有注意这一点,造成许多意想不到的错误。MFC为我们构建好了应用程序框架,我们要做的就是做一些添砖加瓦的工作,为应用程序添加实

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论