面向对象技术-对话框和按钮控件
中南大学数学院大三年级面向对象实验报告

中南大学数学院大三年级面向对象实验报告C++面向对象程序设计实验报告姓名:班级:学号:实验一,画线在visual C++6.0里面文件->新建->工程里面的MFC Appwizard [EXE]除了第二步选单文档,基本上都是默认的。
建一个文件进行一下操作int m;CPoint p1,p2;在构造函数里面初使化m CZuoBiaoView::CZuoBiaoView(){// TODO: add construction code herem=0;}在资源文件Menu中的IDR_MAINFRAME中添加消息句柄OnLButtonDown,OnLButtonUp,OnMouseMove .再回到ZuoBiaoView.cpp中编译一下程序void CZuoBiaoView::OnLButtonDown(UINT nFlags, CPoint point){// TODO: Add your message handler code here and/or call defaultCClientDC dc(this);m=1;p1=point;CView::OnLButtonDown(nFlags, point);}void CZuoBiaoView::OnLButtonUp(UINT nFlags, CPoint point){// TODO: Add your message handler code here and/or call defaultp2=point;CClientDC dc(this);OnPrepareDC(&dc);dc.MoveTo(p1);dc.LineTo(p2);m=0;CView::OnLButtonUp(nFlags, point);}void CZuoBiaoView::OnMouseMove(UINT nFlags, CPoint point){// TODO: Add your message handler code here and/or call defaultstatic int n=0;switch(++n){case 1:p2=point;break;case 2:p1=p2;p2=point;n=0;break;}CClientDC dc(this);OnPrepareDC(&dc);if(m==1){dc.MoveTo(p1);dc.LineTo(p2);}CView::OnMouseMove(nFlags, point);}实验二,创建菜单用MFC创建菜单按钮具体的制作过程:首先,生成一个MFC AppWizard EXE 工程生成一个以CButton为基类的新类,名为CMenuButton,然后用ClassWizard 为其添加两个成员函数:DrawItem()和PreSubclassWidnow();手工为CMenuButton类添加BOOL类型m_bDrawFocusRect成员变量,用于决定是否在按钮上画焦点矩形,添加SetDrawFocusRect()函数用于设置这个标志,默认为画焦点矩形;添加两个枚举类型的变量m_ArrowType和m_PopupPos,用于决定所画的箭头的类型和菜单弹出的位置。
对象100问及答案

面向对象100问回答以下问题。
(注意:各小题能用语句完成的,写出语句段;不能用语句完成的,写出如何在属性窗口中设置。
最好能在机器上进行验证,以加深印象。
) 1.将窗体Form1的标题设置为“我的程序” 2.将窗体Form1设置为固定大小 3.将窗体Form1的宽度和高度都放大一倍 4.将窗体Form1设置位于屏幕中央并充满屏幕 5.将窗体的位置向上移动500Twips 6.如何用Move 方法完成3、4、5三题 7.设置窗体的背景色为兰色 8.在窗体Form1上用20磅字号打印“Visual B asic” 9. 如图一所示,通过自定义窗体Form1的坐标系,将窗体Form1划分为3×3块显示区,画出“井”字线,再在中间那各个显示区用兰色字打印“Visual Basic ”(提示:Form1.Scale (0, 0)-(3, 3))10. 在窗体Form1的中央画个填充色为红色圆周为绿色的半径为20毫米的圆11. 清除窗体Form1上打印的文字和绘图内容12. 窗体Form1上加载图片c:windows\clouds.bmp13. 清除窗体Form1上的图片14. 将标签Label1的字体设置为红色、四号、黑体、粗体、带下划线15.将标签Label1的字体设置为兰色、18磅、楷体、斜体16. 设置标签Label1能自动调整大小以显示所有的内容,再将标签Label1的字体放大一倍17. 将标签Label1设置为不可见18. 将标签Label1置于窗体中央(特别提示:写出语句,也可以直接通过“格式”菜单设置)19. 将标签Label1沿右上方向移动20. 将标签设置为不可用(请问:将标签设置为不可用后,是否标签显示的信息就不能改变了?)21. 从键盘上任意输入两个数,将这两个数的加法式子显示在标签Label1中。
(例如:输入的是3和6,标签Label1显示3+6=9)22. 将命令按钮Command1设置为不可用23. 将命令按钮Command1设置为窗体的缺省命令按钮24. 将命令按钮Command1设置为窗体的“取消”按钮25. 将命令按钮Command1的标题设置为“退出(X )”26. 实现命令按钮Command1的双重性:“开始”|“停止”:“开始”启动定时器、“停止”停止定时器。
Windows环境下基于面向对象技术的ARToolKit通用编程框架研究

收稿日期:2009-02-17;修回日期:2009-03-27 基金项目:华南理工大学教育部创新型实验教学研究项目(2008A15-Y9070010) 作者简介:胡广华(1980-),男,江西临川人,博士,主要研究方向为虚拟制造、微机电系统等(ghhu@scut .edu .cn);黄平(1957-),男,教授,博导,博士,主要研究方向为摩擦学、微机电系统、机械设计等.W indo ws 环境下基于面向对象技术的ARTooK l i t 通用编程框架研究*胡广华,黄 平(华南理工大学机械与汽车工程学院,广州510641)摘 要:ARTool K it 采用Open GL 实用工具库(OpenGL u tility tool k it)以保持平台无关性和可移植性,而Open GL实用工具库缺乏对基本图形化用户界面的支持。
为解决此问题,对ARTool K it 中的ARgsub32.li b 模块进行了修改,基于面向对象编程思想,采用C++语言设计了CTKGL 、CARGL 两个方便易用的层次化框架类,对W i ndo w s 窗口环境中的Open GL 和增强现实(aug m e n ted reality)核心操作进行了有效的封装,并成功地实现了ARTool K it 与微软基础类库(M icrosoft foundatio n class li brary)的集成。
该方法可作为W i ndo w s 环境下基于ARTool K it 的增强现实应用系统开发的通用编程模型。
关键词:ARTool K i;t 增强现实;微软基础类库;图形用户界面中图分类号:TP39119 文献标志码:A 文章编号:1001-3695(2009)11-4133-03do:i 10.3969/.j i ssn .1001-3695.2009.11.038R esearch on OOP based genera l progra mm i n g fra m e work fordevel op i ng ARTool K it app li cations i n W i ndo w s env iron m en tHU Guang -hua ,HUANG P ing(S c hool of M e chanical&Au t omotive Eng i neeri ng,Sou t h C hina Un i v ersit y of T ec hnology ,G uangzhou 510641,Ch i na )Abstract :To m ake it p l atfor m-i ndependent and portab le ,Open GL u tility tool k it (GLUT)w as used i n ARTool K i.t H ow ever ,a lack of basi c GU I features lm i ited t he li brary .s use f or bu ildi ng m ore useful appli cations .Th i s paper presented a novel m ethod to overcom e the proble m.The proposed m et hod m ade a sli ght mod ificati on toARgs ub32.lib .A fter tha,t based on ob -ject oriented progra mm i ng (OOP)phil osophy ,t w o basic cl asses ,CTKGL and CARGL ,wh ich encapsulated t he core processes ofOpenGL and AR,w ere designed w ith C ++progra mm i ng language .The benefitw as t hat itw as easy to i ntegrate bot h classes w it h M i crosoftf oundati on class li brary (M FC ).The proposed approach can be used as a general p rogra mm i ng fra m e w ork for develop i ng AR appli cations based on ARTool K i.t Key words :ARTool K i ;t augmented reality(AR );MFC ;GU I0 引言增强现实(AR )是在虚拟现实(v i rtual rea lit y ,VR )技术基础上发展起来的一门新技术。
(完整)数据结构面向对象课程设计MFC贪吃蛇

湖南工业大学课程设计任务书2012 -2013 学年第 2 学期计算机与通信学院(系、部)软件工程专业 1201 班级课程名称:面向对象课程设计设计题目: 贪吃蛇完成期限:自 2013 年 6 月 24 日至 2013 年 6 月 29 日共 1 周指导教师(签字):年月日系(教研室)主任(签字):年月日《面向对象程序设计课程设计》设计说明书基于windows界面应用程序贪吃蛇起止日期: 2013 年 6 月 24 日至 2013 年 6 月 28 日学生姓名汪骁将班级软件工程1201学号12408300126成绩指导教师(签字)计算机与通信学院2013 年 6 月 28 日目录第一章引言1。
1关于题目 (4)1.1。
1题目要求 (4)1.1.2选题背景 (4)1。
2关于编译软件 (4)1。
3关于兼容性 (4)第二章概要设计2。
1软件主要功能设计 (5)2。
1。
1程序结构 (5)2.1.2程序流程 (5)第三章软件实现3.1变量函数及资源的声明 (6)3。
1。
1函数声明 (6)3。
1.2变量声明 (6)3.1。
3资源 (7)3。
2主要功能的实现 (7)3。
2。
1游戏界面 (7)3。
2。
2初始化食物 (7)3。
2。
3开始游戏 (7)3。
2.4游戏设置...................................................... 8第四章解释4。
1个人所分任务详解 ................................................... 8第五章结果与讨论5。
1程序运行 (17)4。
1。
1部分函数与代码 (17)5.2实验总结 (19)第一章引言1.1关于题目1.1.1题目要求利用Microsoft Visual C++制作一个贪吃蛇的小游戏,要求:(1)应用MFC单文档制作(2)能够记录游戏成绩(3)可暂停/继续并在玩家不愿游戏时停止游戏(4)有背景音乐和音效1.1。
VFP数据库系统Visual FoxPro面向对象的程序设计

第九章面向对象的程序设计面向对象的程序设计(Object Oriented Programming,简称OOP)与编程技术不同于标准的结构化程序设计。
在进行面向对象程序设计时,首先要考虑为实现某种目标而创建的具有某种功能且操作使用便捷的控件、对象和控件的使用参数及外观,以及为实现具体功能应选用的事件及数据环境并设计好相应的方法程序模块。
9.1 VFP中的对象9.1.1 面向对象的基本概念对象是由数据及可以施加在这些数据上的可执行操作所构成的统一体,是代码和数据的组合,它可以作为一个完整的、独立的单位模块来处理。
面向对象程序设计方法是一种以数据和信息为主线,将数据和处理相结合的方法。
那么什么是对象呢?对象就是客观世界中事物的抽象,是反映客观事物属性及行为特征的可运作实体。
在OOP中,将对象作为一个变量来处理,对象包括数据和用来处理这些数据的方法和工具。
对象是构成程序的基本单位和运行实体,是应用程序的组装模块。
一般来说,对象=属性+控件+事件+数据环境+方法程序,是一种模块的组合体。
控件是显示数据和执行操作的基本工具对象;属性是对象所具有的物理性质及其特性标识符;事件是对象所能识别和响应的某些行为和操作;数据环境是对象运行生存所依据的数据信息范围;方法程序是对象在事件触发时的行为和动作。
9.1.2 对象的属性、事件和方法对象(Object)在现实生活中是很常见的(如:一个人是一个对象,一台Pc即是一个对象。
从可视化编程的角度来看,对象是一个具有属性(数据)和方法(行为方式)的实体。
一个对象建立之后,其操作就通过与该对象有关的属性、事件和方法来描述。
1. 对象的属性属性(Property)是指对象的一项描述内容,用于描述对象的一个特性。
不同的对象具有不同的属性,而每个对象又都由若干属性来描述。
属性是对象的特征,是对象某一方面的行为参数,它描述了一个对象,描述了对象的状态或某一方面的行为功能,说明了对象可以完成的工作,但是还没有说明如何去完成任务。
软件测试模拟试题

软件测试模拟试题一、单选题(共100题,每题1分,共100分)1.一个软件原型是所提出的新产品的部分实现。
下面不属于使用原型的主要目的的是:( )。
A、通过一系列小规模的开发循环,可以完成整个产品的开发B、用户对原型的评价可以指出需求中的许多问题,在开发真正产品之前,可以用最低的费用来解决这些问题C、可以探索不同的用户界面技术,使系统达到最佳的可用性D、在原型屏幕显示和报表中使用合理的模拟数据正确答案:D2.严重得软件缺陷得产生主要源自()。
A、测试B、需求C、设计D、编码正确答案:B3.用VC实现Ftp查询的程序编写中,如果连接成功,使用( )得到服务器的缺省目录。
A、GetFtpDirectory ()B、GetFtpHost()C、GetCurrentDirectory()D、GetCurrentHost()正确答案:C4.面向对象测试中测试类定义的每种方法,基本上相当于传统软件测试中的( )。
A、系统测试B、模块测试C、验证测试D、单元测试正确答案:D5.要进行测试,除了要有测试数据外,还应同时给出该组测试数据应该得到怎样的输出结果,称为( )。
A、白盒测试B、测试用例C、黑盒测试D、预期结果正确答案:D6.( )的特点包括:功能域明确;不可能任意转移控制;容易确定局部和全局数据的作用域;容易表现嵌套关系。
A、程序流程图B、PAD图C、盒图D、判定表正确答案:C7.UML是一种标准的图形化建模语言,它是( )分析与设计的一种标准表示。
A、面向功能B、面向过程C、面向对象D、面向结构正确答案:C8.在模块划分中,面向过程的方法一般是按( )划分。
A、功能B、结构C、过程D、对象正确答案:A9.并行接口适用于( )的场合,其接口电路相对简单。
A、传输距离较远,传输速度要求低B、传输距离较远,传输速度要求高C、传输距离较近,传输速度要求高D、传输距离较近,传输速度要求低正确答案:C10.( )存储一个对话框模板,模板制定了对话框的特征,包括其大小、位置、风格以及对话框中各种控件等。
2024版Delphi程序设计实用教程第2版

Delphi程序设计实用教程第2版•Delphi程序设计概述•Delphi语言基础•面向对象编程基础•窗体和控件应用•文件操作与数据库访问技术•网络编程技术•调试、优化和发布部署•实战项目:XXX系统设计与实现Delphi程序设计概述Delphi是一种高级编程语言,由Borland公司开发,以Object Pascal为基础。
Delphi支持面向对象的程序设计,具有丰富的组件库和强大的开发环境。
Delphi广泛应用于Windows桌面应用程序、Web应用程序、数据库应用程序等开发领域。
Delphi语言简介下载并安装Delphi开发环境,选择合适的版本和组件库。
配置开发环境,包括设置编译器选项、调试器选项、代码编辑器风格等。
安装和配置数据库连接驱动,以便在Delphi中访问数据库。
Delphi开发环境安装与配置第一个Delphi程序创建一个新的Delphi项目,选择适当编译和运行程序,查看程序执行结果。
的项目类型和模板。
在代码编辑器中编写程序代码,实现简单的功能,如输出“HelloWorld”。
010204 Delphi程序结构Delphi程序由项目文件、单元文件和窗体文件等组成。
项目文件包含程序的整体设置和引用单元的信息。
单元文件包含程序中的代码和数据,是实现程序功能的基本单元。
窗体文件包含程序中的界面元素和事件处理代码,是实现用户交互的重要部分。
03Delphi语言基础包括Integer 、Boolean 、Char 、String 、Float 等常用类型。
标准数据类型如数组、记录、集合、文件等复合数据类型。
构造类型用于访问内存地址的特殊数据类型。
指针类型可存储不同类型数据的灵活数据类型。
变体类型Delphi 数据类型介绍如何在Delphi 中声明变量并为其赋值。
变量声明与赋值讲解常量的概念、定义方法及在程序中的应用。
常量定义与使用阐述局部变量、全局变量的概念及其作用范围。
变量作用域变量与常量运算符与表达式算术运算符介绍加、减、乘、除等基本算术运算。
面向对象程序设计课设论文-模拟自动售货机

《面向对象程序设计》课程设计题目:模拟自动售货机院系:数学与计算科学专业:信息与计算科学姓名学号: 1指导老师:日期:2015年 1 月8 日摘要随着社会的发展和不断进步,人们的物质文化与精神文化都在明显的提高,各种各样的高科技产品也应运而生并慢慢融入人们的生活,如信用卡支付、手机、地铁等等,当然,还有随处可见的自动售货机。
我基于自己所学,设计了一款饮料自动售货机。
该售货机操作简单,适合广大民众生活。
这个自动售货机是在Windows 环境下用 Microsoft Visual Studio 2008工具,基于MFC框架设计的,可以实现初始化界面,让界面美观简洁。
程序通过CRC 卡分析,建立UML类图,把程序功能具体化,用需求分析与方案论证,从而实现自动售货机的开发过程。
关键字:自动售货机MFC CRC卡UML类图AbstractWith the development of society and progress,people's material culture and spiritual culture are obviously improved,a variety of high-tech products also arises at the historic moment and slowly into people's lives,such as credit card payments, mobile phone,the subway and so on,of course,and the everywhere vending machine.I use my learned knowledge,designed a drinks vending machine.The vending machine operation is simple, so it is suitable for the general public life.This vending machine is in the Windows environment using Microsoft Visual Studio 2008 tools, and based on the MFC framework to design,it can implement initialization interface, and let the interface beautiful and concise.The program through the analysis of CRC card to establish a UML class diagram, let the program function is specific,it also using demand analysis and scheme comparison to realize the development process of the vending machine.Key words:The vending machine MFC CRC card UML class diagrams目录摘要 (2)Abstract (3)目录 (4)引言 (5)一、课程设计内容 (5)1.1、题目要求 (5)1.2、课程设计目的 (6)1.3、CRC分析过程陈述 (6)1.4、UML类图 (7)二、设计分析 (7)2.1、界面初始化 (7)2.1.1、关于对话框设置 (7)2.1.2、关于按钮设置 (8)2.2、出售商品设置 (9)2.3、售货机工作员设置 (15)三、运行结果 (16)3.1、投币操作 (16)3.1.1、金额充足显示 (16)3.1.2、金额不足显示 (16)3.2、继续投币操作 (17)3.3、退币操作 (18)3.4、停止售卖 (18)3.4.1、金额上限停止显示 (19)3.4.2、商品售完显示 (19)四、心得体会 (20)五、参考文献 (21)引言本次课设是用C++语言编写一个模拟自动售货机程序,要求用户从售货机商品列表选择某一商品并投入硬币。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机学院
实验报告
实验名称对话框和按钮控件课程名称面向对象技术
姓名班级学号
日期地点
成绩教师
1.实验目的
运用对话框和按钮控件设计一个可供选择的调查问卷对话框。
2.实验内容
设计一个对话框,用于问卷调查,它针对“上网”话题提出了是个问题,每个问题都有四个选项。
当回答问题后,按“确定”按钮,弹出一个消息对话框。
显示用户选择的内容。
3.实验环境(软件、硬件及条件)
VC++6.0
PC WIN7
4.实验方法
1)创建一个默认的基于对话框的应用Ex_Research。
2)Visual C++会自动打开对话框编辑器并显示对话框资源模版。
单击对话框编辑器工具栏上的切换网络按钮,显示对话框网格,将对话框标题改为“上网问卷调查”。
3)在对话框中添加实验需要的组框控件、静态文本、静态图文控件、复选按钮和单选按钮等,并按照实验要求修改对应的名称。
4)单击工具栏的测试对话框按钮,测试一下所添加的对话框效果。
5)将项目工作区切换到ClassView(类视图)页面,展开CEx_researchDig类的所有成员,双击OnInitDialog函数名就会在文档窗口中自动定位到该函数的实现代码处,在此函数添加初始化代码。
6)用MFC.ClassWizard在CEx_ResearchDlg类中添加IDOK按钮的BN_CLICKED消息映射,添加代码,使得用按“确定”按钮获取用户所作的选择内容。
7)编译并运行,出现“上网问卷调查”对话框,当回答问题后,按“确定”按钮,出现消息对话框,显示用户选择的内容。
5.实验分析
此次实验中,在4)步骤测试对话框,刚开始选择单选按钮是,两组单选按钮中只有一个单选按钮被选中,这是顺序添加的8个单选按钮全部变成一组。
解决这个问题的办法是将第一组的第一个单选按钮的Group(组)属性选中。
6.实验结论
该程序正常运行,可以按照要求显示。
由于初始化时已经设置了默认选,运行程序弹出对话框中每个提问均有选现象被选中,这样就避免了用户对某些问题未选择而带来的错误。
当用户选择完毕后,单击确认后,便弹出另一个对话框,将用户所选择的信息显示出来。
改程序界面简单明了,方便用户理解操作,而且对用户选择的内容及时反馈。
这次实验我学会了应用框架中对话框的基本应用,在对话框添加按钮控件,也要对初始化的成员,添加对应的映射,才能系统才会才对话框进行初步的处理。
附件(关键部分源代码)
1. CheckRadioButton(IDC_AGE_L18,IDC_AGE_M38,IDC_AGE
_18T27);
CheckRadioButton(IDC_CM_FTTL,IDC_CM_OTHER,IDC_C
M_FTTL);
CButton*pBtn=(CButton*)GetDlgItem(IDC_DO_POP);
pBtn->SetCheck(1); //使“收发邮件”复选框选中
CheckRadioButton(IDC_TIME_L1,IDC_TIME_M3,IDC_TIME
_L1);
2. CString str,strCtrl; //定义两个字符串变量,Csting是操作字符
串的MFC类
str="你的年龄:";
UINT nID=GetCheckedRadioButton(IDC_AGE_L18,
IDC_AGE_M38);
GetDlgItemText(nID,strCtrl);
str=str+strCtrl;
//获取第二个问题的用户选择
str=str+"\n你使用的接入方式:";
nID=GetCheckedRadioButton(IDC_CM_FTTL,IDC_CM_OTH
ER);
GetDlgItemText(nID,strCtrl); //获取指定控件的标题文本
str=str+strCtrl;
//获取第三个问题的用户选择
str=str+"\n你上网主要是:\n";
UINT nCheckIDs[4]={IDC_DO_POP,IDC_DO_READ,
IDC_DO_GAME,IDC_CM_OTHER};
CButton*pBtn;
for(int i=0;i<4;i++)
{
pBtn=(CButton*)GetDlgItem(nCheckIDs[i]);
if(pBtn->GetCheck()){
pBtn->GetWindowText(strCtrl);
str=str+strCtrl;
str=str+" ";
}
}
//获取第四个问题的用户选择
str=str+"\n你每天平均上网的时间:\n";
nID=GetCheckedRadioButton(IDC_TIME_L1,IDC_TIME_M3); GetDlgItemText(nID,strCtrl); //获取指定控件的标题文本
str=str+strCtrl;。