《C++实践任务书》doc版.doc_第1页
《C++实践任务书》doc版.doc_第2页
《C++实践任务书》doc版.doc_第3页
《C++实践任务书》doc版.doc_第4页
《C++实践任务书》doc版.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

能动1403班1006140316王铿学中南大学本科生课程设计(实践)任务书、设计报告(C+语言程序设计)题 目基于MFC单文档及对话框的程序设计 学生姓名王铿学指导教师周春艳学 院能源与科学工程学院专业班级能动1403班学生学号1006140316计算机基础教学中心2015年 5 月 31 日能动1403班1006140316王铿学基于MFC单文档及对话框的程序设计摘要:VC+6.0提供了MFC的应用设计功能,在MFC中,可以创建单文档、多重文档或基本对话框,通过各种控件的添加和代码的输入可以实现各种有趣的小功能,比如实现各种运算,输入圆的半径然后自动输出圆的周长和面积,通过滚动条的拖动改变填充圆的颜色等等。以下主要介绍通过MFC中的单文档和基本多话框来实现随机半径圆和显示系统时间和日期两个功能。关键词:MFC,对话框,单文档准备工作:首先利用VC+6.0创建一个单文档总空间,用于建立各个小模块的菜单,并将各个小模块的应用程序存放于总空间的debug中,以在总菜单中可以打开各个小模块并运行。MFC单文档视图:随机半径圆的设计1.程序功能介绍 在程序中,当用户单击空白处时,弹出颜色对话框,用户选择一种颜色,点击确定后,将会在鼠标单击处画出一个填充圆,圆的半径随机。 程序设计的难点在于使用类CColorDialog定义颜色对话框,并调用指针pDC进行绘图。 2.程序设计思想及设计过程 主要思路:创建颜色对话框与鼠标左键命令对应,设置颜色的取值范围,以调用各个坐标下的颜色并且可以让用户自定义填充颜色,同时设置圆的半径上限,利用ButtonDown()函数进行画圆。设计过程:(1) 打开VC+6.0,在总空间的根目录下创建MFC单文档,然后在文档类(CDocument)添加三个公有数据成员CRect r100、COLORREF c100和int n,分别用于存放圆的数据和圆的颜色以及圆的个数。并在函数OnDocument中进行初始化:n=0。(2) 点击“查看”,通过建立类向导为视图类(CView)添加WM_LBUTTONDOWN消息处理函数,添加相关代码。(3) 在视图类中找到绘图函数(OnDraw),执行用数组c绘出颜色填充圆,在函数体部分输入相关代码。(4) 点击“编译”命令,确认无错后,运行程序。小结:在进行设计时,要准确区分个各类,同时利用类CColorDialogla来填充颜色,并调用函数Ellipse进行画圆。输入代码时要秉承着认真的态度,尤其是当代码及其繁多且复杂时,并养成每完成一次代码输入就进行编译的良好习惯,以便及时发现错误。MFC对话框的:时间和日期的显示1. 程序功能介绍 分别点击两个复选框,将在下方的编辑框显示当前系统的时间和日期。该程序简单直观,代码简洁。2. 程序设计思想及设计过程主要思路:通过建立类向导将复选框和编辑框对应起来,显示所需要的信息。设计过程:(1) 打开VC+6.0,创建MFC Appwizard,在基本类型中选择基本对话框。在Dialog中添加两个复选框和两个编辑框控件,并修改控件的名称。(2) 在编辑框的属性列表中,点击“只读”,然后建立类向导,将变量连接起来。(3) 双击第一个复选框,进入代码编写,输入相关代码。(4) 双击第二个复选框,输入代码。(5) 进行编译,调试运行程序。小结:即使是代码简单的小程序,也要注意其中的各个变量的连接关系,这样才不会在运行时出错。其他小程序简介简易计算器:通过添加多个按钮控件,添加按钮代码,达到可以进行加减乘除和开平方以及求倒数的运算,并通过复位键更新数据。圆的颜色填充:添加滚动条和滑动条以及旋转按钮控件,控制颜色坐标值在0255之间,通过滚动条等对边框中的圆进行颜色填充。将各个小程序加入总空间的菜单 在制作后各个小程序后,需要将它们加入到总空间的子菜单目录下,首先在VC+6.0中打开总空间工程,找到MENU,双击弹出Dialog对话框,添加所需菜单,并确定菜单的ID。 然后建立类向导,找到索要建立菜单的ID,点击“Add Function”,然后点击“Edit Code”,加入以下代码“WinExec(“文件名”,SW_SHOW);”代码。 最后,将目标文件的程序复制到总空间的debug文件夹中,调试程序。实践总结 通过本次C+实践,应该说真的学到了很多,在此之前所掌握的C+知识也到了充分应用。但毕竟知识生疏,一开始很不熟练,总要对着书本一点一点的找相关代码,而且也经常犯一些小的错误和语法错误,比如定义类时忘记在后面加个分号,或者是把break语句放在if语句中,印象比较深刻的一个错误就是关于system(“pause”)这个语句,由于将它放在了main()函数中return语句的后面导致后来调试时的程序闪退,有些问题真的就是错过才明白,在熟悉了这个语句后,就再也没出现过类似的情况。在进行MFC设计的时候,基本上很多作品都是自己通过纸质资料和互联网查找的情况下做出来的,而且一开始由于对MFC的陌生,出现了相当多的语句错误,很多类别自己都搞不清,但动手的越多,尝试的越多,获得的也就越多。在做完一些比较简单的小模块后,我开始着手做一些代码较为复杂的程序,对着资料上的代码输入,自己也渐渐的了解MFC,而且也对MFC渐渐产生了兴趣,总是完成一个作品又接着开始下一个作品,也曾经对着出错的代码通宵达旦过,但无论怎样,都忘不了当初圆的颜色填充那个作品完成时的激动。一次次的小成功总是激励着自己继续前进,原本浮躁的心也被代码洗刷的平静无比。这次的实践还发现了自己很

温馨提示

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

评论

0/150

提交评论