版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、会计学1 可视化编程入门可视化编程入门 2 第1页/共92页 3 第2页/共92页 4 第3页/共92页 5 第4页/共92页 6 程工具!程工具!endl; n coutVC+是可视化的编程是可视化的编程 工具!工具!endl; n return 0; n 第5页/共92页 7 n cout” ”3.1416*r*rendl; n return 0; n n这是基于控制台的文本用户界这是基于控制台的文本用户界 面应用程序。运行这种程序之后,面应用程序。运行这种程序之后, 屏幕出现屏幕出现MS-DOS窗口,并且按窗口,并且按 照程序代码的流程执行,用户输照程序代码的流程执行,用户输 入数据后即
2、显示执行结果。入数据后即显示执行结果。 第6页/共92页 8 第7页/共92页 9 n在非可视化环境下,图形用在非可视化环境下,图形用 户界面的设计户界面的设计 n都需通过编写程序代码来实都需通过编写程序代码来实 现,且在设计现,且在设计 n过程中是看不到界面的实际过程中是看不到界面的实际 显示效果的。显示效果的。 第8页/共92页 10 能。能。 第9页/共92页 11 Windows应应 n用程序可以拆分成许多功能独用程序可以拆分成许多功能独 立的对象,各立的对象,各 n自负责不同类型的工作,其最自负责不同类型的工作,其最 基本的构成对象可以分为两大类:基本的构成对象可以分为两大类: 程序
3、对象程序对象和和窗口对象窗口对象。 第10页/共92页 12 n n Visual Studio系统给每个对象分配一个系统给每个对象分配一个 (handle),),它是一个它是一个4 4字节长的整数值字节长的整数值 ,是对象的唯一内部编号,是对象的唯一内部编号。应用程序通过句。应用程序通过句 柄访问相应的对象。每个对象除了句柄外,柄访问相应的对象。每个对象除了句柄外, 还有一个对象标识符还有一个对象标识符IDID,可看作是对象的可看作是对象的 外部名。外部名。ID与句柄的区别主要在于:与句柄的区别主要在于:ID可以可以 是用户自行设定的;而句柄是系统内定的,是用户自行设定的;而句柄是系统内定的
4、, 对用户是透明的,这能防止应用程序直接访对用户是透明的,这能防止应用程序直接访 问对象的内部信息。问对象的内部信息。 第11页/共92页 13 n即应用程序的运行没有严格即应用程序的运行没有严格 的起点和终点以及固的起点和终点以及固 n定的流程,各对象之间没有定的流程,各对象之间没有 规定的执行顺序,规定的执行顺序, n即程序的运行过程是不明确即程序的运行过程是不明确 的,而是由事件的,而是由事件 n及其消息控制着对象的激活及其消息控制着对象的激活 和程序的运行过程。和程序的运行过程。 n对象通常处于循环休眠状态,对象通常处于循环休眠状态, 当发生了某个事件并有相应消当发生了某个事件并有相应
5、消 息传递给对象,才会按照消息息传递给对象,才会按照消息 的指示执行程序代码,一次消的指示执行程序代码,一次消 息的处理工作完毕后又恢复休息的处理工作完毕后又恢复休 眠状态以等待下一个事件的发眠状态以等待下一个事件的发 生及其消息的到来。生及其消息的到来。 第12页/共92页 14 n (message)是)是Visual Studio定定 义(义(WinUser.h头文件)的头文件)的一种特殊的数一种特殊的数 据结构(据结构(MSG),它打包了),它打包了“事件事件”发发 生的相关信息生的相关信息,例如:消息接收者的句,例如:消息接收者的句 柄、事件的类型和来源、消息参数等。柄、事件的类型和
6、来源、消息参数等。 第13页/共92页 15 BN_DOUBLECLICKED 件;件; n文本编辑框有改变文本文本编辑框有改变文本 (EN_CHANGE) n、接受输入焦点、接受输入焦点 (EN_SETFOCUS)、)、 n失去输入焦点失去输入焦点 (EN_KILLFOCUS)、)、 n单击垂直滚动条单击垂直滚动条 (EN_VSCROLL)等事件。)等事件。 第14页/共92页 16 第15页/共92页 17 第16页/共92页 18 作。作。 n系统服务函数系统服务函数:实现操作:实现操作 系统提供的各种实用服务功能。系统提供的各种实用服务功能。 第17页/共92页 19 无疑是比较困难的
7、。当然,使无疑是比较困难的。当然,使 用用API编程更具灵活性和个性化。编程更具灵活性和个性化。 n nAPI支持所有支持所有Windows应用程应用程 序的开发系统,序的开发系统, n如如VC+、VB、Java等。等。 第18页/共92页 20 n架构、各种标准的图形界面元架构、各种标准的图形界面元 素、其核心是素、其核心是 n它以它以C+的形式封装了的形式封装了 Windows API的大部分函数。的大部分函数。 第19页/共92页 21 具类、设备描述表类等。具类、设备描述表类等。 n简单数据类型类简单数据类型类 n通用类通用类包括:数组类、包括:数组类、 类表类、映像类类表类、映像类
8、n文件和数据库类文件和数据库类包括:包括: 文件文件I/OI/O类、类、ODBCODBC类、类、ADOADO类类 nInternet和网络工作类和网络工作类 包括:包括:Win32 InternetWin32 Internet类、类、 Windows SocketWindows Socket类等类等 n对象链接和嵌入对象链接和嵌入(OLE, Object Lingking and Embedding)类类 n调试和异常类调试和异常类 第20页/共92页 22 最大优点是它以高效简洁的方式为最大优点是它以高效简洁的方式为 编程者做了所有标准部分的工作,编程者做了所有标准部分的工作, 特别是编程者
9、可以在不需要写一行特别是编程者可以在不需要写一行 代码的情况下完成一个完整的应用代码的情况下完成一个完整的应用 n程序架构程序架构(约需千行代码)。(约需千行代码)。 MFC中包含了成中包含了成 n千上万行功能强大的、经过优化千上万行功能强大的、经过优化 的的Windows n程序代码。编程者只要定义了某程序代码。编程者只要定义了某 个个MFC类的对象,就可以调用该类的对象,就可以调用该 类的成员函数,轻轻松松完成本该类的成员函数,轻轻松松完成本该 由你自己一行行编写的程序代码。由你自己一行行编写的程序代码。 从这点上说,从这点上说,MFC极大地降低了极大地降低了 程序开发难度。程序开发难度。
10、 第21页/共92页 23 第22页/共92页 24 nCMDIChildWnd nCdialog n用于支持三种标准框架窗口:用于支持三种标准框架窗口: 第23页/共92页 25 CMDIChildWnd类支持。子框类支持。子框 架窗口没有菜单栏架窗口没有菜单栏 n和工具栏,它们共享主窗口和工具栏,它们共享主窗口 的菜单栏和工具栏。的菜单栏和工具栏。 n对话框对话框(Dialog) n对话框是一种特殊类型的对话框是一种特殊类型的 窗口,它没有菜单栏和工具栏,窗口,它没有菜单栏和工具栏, 且一般不能改变窗口的大小。且一般不能改变窗口的大小。 对话框由对话框由Cdialog类支持。类支持。 第2
11、4页/共92页 26 Over 第25页/共92页 27 第26页/共92页 28 nStep.1 nStep.2设计图形用户界面设计图形用户界面 nStep.3设计对象的事件驱动设计对象的事件驱动 程序程序 nStep.4项目的编译、链接和项目的编译、链接和 运行运行 n下面结合一个简单的编程实例下面结合一个简单的编程实例 (Case1)“计算圆的周长和面积计算圆的周长和面积” 来介绍这四个步骤。来介绍这四个步骤。 第27页/共92页 29 第28页/共92页 30 n以对话框作为项目主窗口。以对话框作为项目主窗口。 这是最紧凑、这是最紧凑、 n最简单的一种标准项目架最简单的一种标准项目架
12、构。构。 n 第29页/共92页 31 第30页/共92页 32 nVC+以文件夹方式管理项目,以文件夹方式管理项目, 如图如图3 3所示所示,case1是是 D:CPPMFC_PRJ下的一个文下的一个文 件夹,该项目的件夹,该项目的 n各种文件都将存放在这个文各种文件都将存放在这个文 件夹中。件夹中。 n n3. 在系统弹出如图在系统弹出如图4所示的所示的 “MFC应用程序向导步骤应用程序向导步骤1” 对话框中进行项目类型选择。对话框中进行项目类型选择。 先选择单选按钮先选择单选按钮“Dialog based” (对话框项目),再单击(对话框项目),再单击“下下 一个一个”按钮。按钮。 第3
13、1页/共92页 33 按钮。按钮。 n至此,项目架构创建完成,系统至此,项目架构创建完成,系统 回到回到VC6的的 n集成开发环境,如集成开发环境,如图图9所示。所示。 n从该窗口的左窗格的各选项卡中从该窗口的左窗格的各选项卡中 可以观察到可以观察到MFC AppWizard为一为一 个对话框项目的架构创建的所有组个对话框项目的架构创建的所有组 件:件: 第32页/共92页 34 第33页/共92页 35 第34页/共92页 36 n的的main函数。函数。 第35页/共92页 37 第36页/共92页 38 图图10. 对话框项目架构的运行结果对话框项目架构的运行结果 第37页/共92页 3
14、9 第38页/共92页 40 n个图形资源,它是个图形资源,它是CCase1Dlg 类的图形化。类的图形化。 n所谓窗体即窗口毛坯,是还所谓窗体即窗口毛坯,是还 未完全成形的初未完全成形的初 n始窗口,它如同一块始窗口,它如同一块“画画 布布”,在它上面可以画上各种,在它上面可以画上各种 n控件来构成项目所需的实际控件来构成项目所需的实际 窗口。窗体的标题栏上显示的窗口。窗体的标题栏上显示的 是本项目的名字,窗体上可设是本项目的名字,窗体上可设 置网格,用于安排控件的位置置网格,用于安排控件的位置 和大小。在程序运行时,网格和大小。在程序运行时,网格 会自动消失。会自动消失。 n 第39页/共
15、92页 41 话框中合适的位置。或话框中合适的位置。或 n方法方法2:先单击控件箱上所:先单击控件箱上所 选中的控件图标,选中的控件图标, n然后移动鼠标到对话框中合然后移动鼠标到对话框中合 适的位置。适的位置。 n复制到对话框上的控件,可复制到对话框上的控件,可 以移动、复制、调整以移动、复制、调整 n或删除,也可拖动鼠标缩放或删除,也可拖动鼠标缩放 控件的大小。控件的大小。 第40页/共92页 42 说明。说明。 n2个命令按钮个命令按钮,“确定确定”和和 “退出退出”: 前者用于前者用于 n确定输入值,计算圆周长和确定输入值,计算圆周长和 圆面积,然后把圆面积,然后把 n结果显示在对应的
16、输出框上;结果显示在对应的输出框上; 后者用于结束后者用于结束 n程序的执行。程序的执行。 n效果如效果如图图2。 第41页/共92页 43 项卡下:项卡下: n该对话框对象的该对话框对象的ID默认为:默认为: IDD_CASE1_DIALOG n将标题值设置为:将标题值设置为:计算圆周计算圆周 长和圆面积长和圆面积 n单击单击“字体字体”按钮,进行字按钮,进行字 体属性的设置体属性的设置 n其余属性采用默认值。其余属性采用默认值。 n关闭属性对话框。关闭属性对话框。 n上述设置在上述设置在CCase1Dlg类类 的代码中立即被反映。的代码中立即被反映。 第42页/共92页 44 卡中设置相关
17、属性值为:卡中设置相关属性值为:“靠左靠左” (Left)和)和“垂直居中垂直居中” (Center)。)。 n其余属性采用默认值。其余属性采用默认值。 n关闭属性对话框。关闭属性对话框。 第43页/共92页 45 n 可对这可对这5个静态文本框的属性值设置如下:个静态文本框的属性值设置如下: ID标题其他属性标题其他属性 - - IDC_STATIC1 输入半径输入半径: 居中,垂直居中居中,垂直居中 IDC_STATIC2圆周长圆周长 居中,垂直居中居中,垂直居中 IDC_STATIC3圆面积圆面积 居中,垂直居中居中,垂直居中 IDC_STATIC4默认默认 靠左,垂直居中靠左,垂直居中
18、,Client edge IDC_STATIC5默认默认 靠左,垂直居中靠左,垂直居中,Client edge 其中,其中,IDC_STATIC45作为结果输出框,分别显示圆周长和圆面积;作为结果输出框,分别显示圆周长和圆面积; IDC_STATIC13分别作为输入框和输出框的文字说明。分别作为输入框和输出框的文字说明。 第44页/共92页 46 n至此,控件在窗体上至此,控件在窗体上“摆放摆放” 完毕,可以用鼠标完毕,可以用鼠标 n调整它们的大小和位置,也调整它们的大小和位置,也 可以用调整工具可以用调整工具 n栏调整控件之间的对齐方式、栏调整控件之间的对齐方式、 分布、大小规格,以及测试效
19、分布、大小规格,以及测试效 果,设计好的图形用户界面如果,设计好的图形用户界面如 图图16所示。所示。 第45页/共92页 47 第46页/共92页 48 第47页/共92页 49 CCase1Dlg 添加添加 n(声明)一个成员变量,(声明)一个成员变量,每每 一个成员变量一个成员变量 n绑定一个控件绑定一个控件。在消息处理。在消息处理 函数中是通过函数中是通过 n成员变量访问控件的。成员变量访问控件的。 第48页/共92页 50 第49页/共92页 51 有:有: nUpdateData()UpdateData() n/更新成员变量,将控件上更新成员变量,将控件上 的数据传递给成员变量的数
20、据传递给成员变量 nUpdateData(FALSE)UpdateData(FALSE) n/更新控件,将成员变量的更新控件,将成员变量的 值传递给控件值传递给控件 第50页/共92页 52 第51页/共92页 53 相似,容易理解。相似,容易理解。 n为为“确定确定”按钮建立一个按钮建立一个 “单击单击” n(BN_CLICKEDBN_CLICKED)消息处理函数,用于)消息处理函数,用于 n计算圆周长和圆面积,并显计算圆周长和圆面积,并显 示计算结果。示计算结果。 n为为“退出退出”按钮建立一个按钮建立一个 “单击单击”消息处理函数,用于消息处理函数,用于 结束程序的运行。结束程序的运行。
21、 n建立一个对话框的初始化建立一个对话框的初始化 函数,对成员变量函数,对成员变量m_r、 m_girth、m_area进行初始化。进行初始化。 第52页/共92页 54 (成员变量)选项卡。从(成员变量)选项卡。从 “Control IDs”(控件(控件ID)列)列 表框中,可以看到表框中,可以看到 n已经建立的各控件对象的已经建立的各控件对象的ID。 n为编辑框添加成员变量:为编辑框添加成员变量: 选择选择IDC_EDIT1,单击,单击 n右边的右边的“Add Variable” (添加变量)按钮,弹出如(添加变量)按钮,弹出如图图 18所示的所示的“添加成员变量添加成员变量”对对 话框话
22、框 第53页/共92页 55 小值为小值为0,最大值为,最大值为1000.0。 n n用同样的方法为静态文本用同样的方法为静态文本 框框IDC_STATIC4 n和和IDC_STATIC5添加添加Cstring 型成员变量型成员变量m_girth n和和m_area,最大字符个数为,最大字符个数为10 (图图19)。 第54页/共92页 56 ; n此时在此时在“Member functions” (成员函数)(成员函数) n列表框中会自动指出相应的列表框中会自动指出相应的 MFC已定义的已定义的 n虚函数虚函数OnInitDialogOnInitDialog。(主窗口对象是。(主窗口对象是
23、由由MFC默认生成的)默认生成的) 第55页/共92页 57 nm_r =0.0; nm_girth=m_area=0.000; nUpdateData(FALSE); /将数据传给控件并显将数据传给控件并显 示示 第56页/共92页 58 nUpdateData(FALSE);/将数据传给将数据传给 控件并显示控件并显示 nreturn TRUE; n/ return TRUE unless you set the focus to a control n 第57页/共92页 59 nEdit Code” 码)按钮,弹出码)按钮,弹出 nCase1Dlg.cpp文件的编辑窗口,文件的编辑窗口
24、, n并显示并显示OnButton1()OnButton1()函数的代码清单,函数的代码清单, n找到注释提示处:找到注释提示处: n/ TODO: Add your control notification handler code here n(在此下边添加控件消息的处理(在此下边添加控件消息的处理 代码)代码) 第58页/共92页 60 件并显示件并显示 n注:函数注:函数Fornat()是是CString类的类的 成员函数,成员函数, n用来把数据转换成用来把数据转换成CString 类型的字符串。类型的字符串。 第59页/共92页 61 n rth);/按格式写入成员变量按格式写入成员变量 nm_area.Format(%10.3f,area); nUpdateDtata(FALSE);/将数据传将数据传 给控件并显示给控件并显示 n 第60页
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2030年中国室内门行业发展现状及前景趋势分析报告
- 2024-2030年中国地波那非酮项目可行性研究报告
- 2024-2030年中国双耳环行业发展状况规划分析报告
- 眉山职业技术学院《系统仿真技术》2023-2024学年第一学期期末试卷
- 2024年版风力发电项目施工合同详细条款
- 马鞍山职业技术学院《纳米科学技术导论》2023-2024学年第一学期期末试卷
- 吕梁学院《药物化学(I)》2023-2024学年第一学期期末试卷
- 2024年建筑行业工程承包协议更新版版B版
- 2021-2022学年云南省文山壮族苗族自治州高一上学期期中语文试题
- 洛阳商业职业学院《小学数学教学设计与技能训练》2023-2024学年第一学期期末试卷
- 数学师范-大学生职业生涯规划书
- 科学阅读材料(课件)二年级上册科学教科版
- 2022年度尾矿库安全风险辨识及分级管控表
- 职业学院食品药品监督管理专业核心课《企业管理》课程标准
- 投标项目进度计划
- 关于发展乡村产业的建议
- 登泰山记-教学课件
- 2024版水电费缴费协议范本
- 北师大版四年级数学上册第五单元《方向与位置》(大单元教学设计)
- 2024年西安交大少年班选拔考试语文试卷试题(含答案详解)
- 2024年云南省昆明滇中新区公开招聘20人历年重点基础提升难、易点模拟试题(共500题)附带答案详解
评论
0/150
提交评论