可视化编程入门mfc.ppt
《可视化编程入门mfc.ppt》由会员分享,可在线阅读,更多相关《可视化编程入门mfc.ppt(92页珍藏版)》请在三一办公上搜索。
1、1,VC+的可视化编程入 门,冯耀霖,2,本课程简要介绍Windows应用程序的形式和在VC+集成开发环境下使用MFC编写Windows应用程序的基本方法,以使同学们对面向对象的可视化(Visual)程序设计建立一个初步的概念并掌握一些基本方法,为深入学习和使用VC+和其他可视化编程工具打下基础。,3,主题,可视化编程概述使用MFC进行可视化编程常用控件及其应用菜单设计,4,1 可视化编程概述,可视化编程的基本特点 可视化编程方法 窗口,5,1.1可视化编程的基本特点,可视化(Visual)编程有三个基本特点:可视化的图形用户界面设计使用面向对象方法编程采用事件驱动的程序运行方式,6,1.可视
2、化的图形用户界面设计,我们已经相当熟悉以下小程序:【例1.1】#includeusing namespace std;int main()coutVC+是功能强大的编程工具!endl;coutVC+是面向对象的编程工具!endl;coutVC+是可视化的编程工具!endl;return 0;,7,【例1.2】#includeusing namespace std;int main()double r;coutr;cout”圆周长”2*3.1416*rendl;cout”圆面积”3.1416*r*rendl;return 0;这是基于控制台的文本用户界面应用程序。运行这种程序之后,屏幕出现MS-
3、DOS窗口,并且按照程序代码的流程执行,用户输入数据后即显示执行结果。,8,9,进行可视化编程,同样可以写出相同功能的程序,程序运行出现如图1和图2所示的窗口。图1中的窗口称为文档窗口,图2中的窗口称为对话框。显然,它们比MS-DOS的文本用户界面更为友好且方便。这种界面称为图形用户界面(GUI,Graphical User Interface)。在非可视化环境下,图形用户界面的设计都需通过编写程序代码来实现,且在设计过程中是看不到界面的实际显示效果的。,10,Visual Studio支持可视化的图形用户界面设计。Windows应用程序的每个图形界面元素(如对话框、菜单、命令按钮、文本框等)
4、都是可视的,即设计时在显示器屏幕上是可见的,且所见即所得。编程者可根据具体用户界面设计的要求,直接使用VS系统提供的标准工具在屏幕上“画”出各种Windows风格的图形界面元素,而不必为这些界面元素的构建设计大量代码,VS会自动生成这些界面元素的设计代码,开发人员只需为每个图形界面元素设置特定的属性值,代码编写只针对界面元素所要实现的具体功能。,11,2.面向对象编程方式,由于Windows应用程序的复杂性,从图形用户界面到整个应用程序,都是采用面向对象的方法组织的。Windows中的对象可以是所有的规范部件,如窗口、菜单、工具栏、按钮、文本框、以及程序模块等。从用户的观点看,Windows应
5、用程序有一个窗口,窗口上有若干菜单、命令按钮、图标等界面图形元素;而窗口背后是一些对应的程序。从MFC的面向对象模型看,一个Windows应用程序可以拆分成许多功能独立的对象,各自负责不同类型的工作,其最基本的构成对象可以分为两大类:程序对象和窗口对象。,12,一个应用程序的执行就像一场舞台演出。应用程序对象是幕后人员(导演、剧务等),它们负责安排并指挥“演员”(窗口)上场,准备和调度各种演出“资源”(如菜单、工具栏、图标等)。从操作系统来看,具有“法人”地位的是应用程序对象而非窗口对象,应用程序可以占有CPU时间和内存空间,还可拥有演出所需的“资源”。,Visual Studio系统给每个对
6、象分配一个句柄(handle),它是一个4字节长的整数值,是对象的唯一内部编号。应用程序通过句柄访问相应的对象。每个对象除了句柄外,还有一个对象标识符ID,可看作是对象的外部名。ID与句柄的区别主要在于:ID可以是用户自行设定的;而句柄是系统内定的,对用户是透明的,这能防止应用程序直接访问对象的内部信息。,13,3.事件驱动的程序运行机制,传统的文字用户界面的应用程序都有一个起点和终点,程序中的各模块(函数或对象)的控制过程和执行顺序是在编写程序时精心设置好的,是预知的、确定的,整个程序的运行过程是明确的。这种程序运行机制称为过程驱动。可视化应用程序则采用的是事件驱动的程序运行机制:事件发出消
7、息,消息激活对象。即应用程序的运行没有严格的起点和终点以及固定的流程,各对象之间没有规定的执行顺序,即程序的运行过程是不明确的,而是由事件及其消息控制着对象的激活和程序的运行过程。对象通常处于循环休眠状态,当发生了某个事件并有相应消息传递给对象,才会按照消息的指示执行程序代码,一次消息的处理工作完毕后又恢复休眠状态以等待下一个事件的发生及其消息的到来。,14,事件(event)是什么?事件的含义很广泛,简单地说,事件就是激活对象执行程序代码的一种动作。在Windows的操作环境中,无论系统产生的动作还是运行程序时用户产生的动作都称为事件。最常见的用户事件是鼠标事件和键盘事件。实际上,任何一个拥
8、有设备驱动程序的系统输入设备(包括端口)都可以产生各种事件,发送自己的消息。,消息(message)是Visual Studio定义(WinUser.h头文件)的一种特殊的数据结构(MSG),它打包了“事件”发生的相关信息,例如:消息接收者的句柄、事件的类型和来源、消息参数等。,15,Windows系统有各种各样的消息,消息的传递无时不在发生,即使电脑闲置时,还会有系统时间的消息传递出来。任何一个看似十分简单的动作都会引发窗口之间许多消息的交换。在Visual C+中,什么对象可以产生或接收什么事件,是由MFC规定的。例如,命令按钮有鼠标单击(BN_CLICKED)和双击(BN_DOUBLEC
9、LICKED)事件;文本编辑框有改变文本(EN_CHANGE)、接受输入焦点(EN_SETFOCUS)、失去输入焦点(EN_KILLFOCUS)、单击垂直滚动条(EN_VSCROLL)等事件。,16,当在对象上发生了某个事件并发出了相应的消息后,接收者对象就要响应并处理该消息。每个需要响应的消息要求对应一个处理该消息的程序事件驱动程序。响应消息就是启动相应的事件驱动程序。Visual Studio中将响应消息的过程称为消息映射。,17,1.2 可视化编程方法,使用VC+进行可视化编程有两种方法:基于Windows API函数的编程方法基于Microsoft MFC的编程方法,18,1.基于Wi
10、ndows API函数的编程方法,API是应用程序编程接口(Application Programming Interface)的缩写,是Windows操作系统与Windows应用程序之间的标准接口。作为Windows操作系统的组成部分(shell),API提供了1000多个可供应用程序直接调用的C函数(在Windows API参考手册中有详细介绍),这些函数大致可分为三类:窗口管理函数:实现窗口的创建、移动和修改功能。图形设备接口函数:实现与具体显示设备无关的图形操作。系统服务函数:实现操作系统提供的各种实用服务功能。,19,使用API设计Windows应用程序,对于理解和掌握面向对象程序设
11、计的思想和方法是相当关键的,是想成为Windows编程高手的必经之路。但它要求编程者必须熟知Windows应用程序的架构、事件驱动以及消息传递等内部机制,并且仍然必须编写大量代码,即它要求编程者具备较高的专业素质,这对初学者来说无疑是比较困难的。当然,使用API编程更具灵活性和个性化。API支持所有Windows应用程序的开发系统,如VC+、VB、Java等。,20,2.基于Microsoft MFC的编程方法,MFC是微软基础类库(Microsoft Foundation Class)的缩写。与API不同,MFC不是Windows操作系统的组成部分,而是微软公司专为VC+开发的配套软件包。与
12、VC6配套的是MFC6.0。MFC充分使用了面向对象方法中的继承和多态性技术,以类的方式封装了Windows应用程序所涉及的几乎所有的标准部件,如Windows应用程序的架构、各种标准的图形界面元素、其核心是它以C+的形式封装了Windows API的大部分函数。,21,MFC是一个很大的类层次体系(MFC6.0中包含了200多个类),它由一个称为CObject的类作为根基类,其他类大部分从该类派生而来,其整个类体系可大致划分为:基类应用程序框架类。包括:应用程序类、命令类、文档/视窗类、框架窗口类、文档模板类等可视对象类。包括:窗口类、对话框类、控件类等绘图类。包括:绘图工具类、设备描述表类
13、等。简单数据类型类通用类包括:数组类、类表类、映像类文件和数据库类包括:文件I/O类、ODBC类、ADO类Internet和网络工作类包括:Win32 Internet类、Windows Socket类等对象链接和嵌入(OLE,Object Lingking and Embedding)类调试和异常类,22,事实上,MFC封装了一个Windows应用程序操作的每一方面,因此使用MFC编程,编程者可以把注意力集中于自己程序所特有的部分,不需要事事亲自动手。与直接调用API函数相比,这将大大减少编程者编写的代码数量,使编程工作变得更容易;同时,程序标准部分由MFC的类来提供,可使程序变得更规范,更
14、具可读性,效率也更高。对编程新手来说,MFC的最大优点是它以高效简洁的方式为编程者做了所有标准部分的工作,特别是编程者可以在不需要写一行代码的情况下完成一个完整的应用程序架构(约需千行代码)。MFC中包含了成千上万行功能强大的、经过优化的Windows程序代码。编程者只要定义了某个MFC类的对象,就可以调用该类的成员函数,轻轻松松完成本该由你自己一行行编写的程序代码。从这点上说,MFC极大地降低了程序开发难度。,23,1.3 窗 口,窗口是Windows图形用户界面的最基本和最重要的部件,每一个Windows程序至少有一个窗口。故Windows图形用户界面也称窗口界面。,24,1.框架窗口,框
15、架窗口是应用程序的主窗口,负责管理其包容的其他窗口。一个应用程序的最顶层的框架窗口是应用程序启动时创建的第一个窗口。MFC提供了由基类CWnd(窗口类)派生的4个框架窗口类:CFrameWndCMDIFrameWndCMDIChildWndCdialog用于支持三种标准框架窗口:,25,单文档(Single document)窗口由CframeWnd类支持。文档窗口主要由边框、标题栏、菜单栏、工具栏、编辑区等组成。多文档(Multiple documents,MDI)窗口由多个文档窗口组成,其中第一个打开的是主框架窗口,由CMDIFrameWnd类支持,其他为子框架窗口,由CMDIChildW
16、nd类支持。子框架窗口没有菜单栏和工具栏,它们共享主窗口的菜单栏和工具栏。对话框(Dialog)对话框是一种特殊类型的窗口,它没有菜单栏和工具栏,且一般不能改变窗口的大小。对话框由Cdialog类支持。,26,2.对话框与控件,对话框是应用程序用于显示或提示,并且等待用户输入信息的弹出式窗口。对对话框的操作一般是通过在对话框上添加控件来实现的。对话框与控件密不可分,在每个对话框内都有一些控件,对话框依靠这些控件与用户交互。可以说,对话框是Windows应用程序中最重要的用户界面元素,是应用程序与用户进行交互的主要部件。控件Visual Studio把主要设置在对话框上的一些标准的图形界面元素定
17、义为控件(Control),如文本框、列表框、命令按钮、复选框等,它们中的大多数可以捕获事件并向对话框发送消息。控件实际上也都是窗口,所有的控件类都是CWnd类的派生类。控件通常是作为对话框的子窗口而创建的。,Over,27,2 使用MFC进行可视化编程,建立项目架构 设计图形用户界面 设计对象的事件驱动程序,编写相关代码 项目的编译、链接和运行,28,Visual Studio把开发一个应用程序的过程称之为“项目”(Project,很多人把它翻译成“工程”)。开发一个Windows应用程序的项目远比开发一个控制台应用程序项目要复杂得多,工作量也要浩大得多。好在Visual Studio提供了
18、一组强大的MFC项目的开发工具。开发一个MFC项目通常有四个步骤:Step.1建立项目架构Step.2设计图形用户界面Step.3设计对象的事件驱动程序Step.4项目的编译、链接和运行下面结合一个简单的编程实例(Case1)“计算圆的周长和面积”来介绍这四个步骤。,29,2.1 建立项目架构,建立项目架构(skeleton),类似于一个项目的总体设计,它需要确定项目的类型,根据项目类型创建并组织各种基本组件,包括:所有的类、一些基本对象、项目所需的必要资源等。从而为项目搭建起一个完整的架构。,30,所谓项目类型,是以项目采用什么框架窗口作为主窗口来界定的。MFC支持三种标准项目类型:单文档(
19、Single document)项目以单文档窗口作为项目主窗口。多文档(Multiple documents)项目以多文档窗口作为项目的主窗口。对话框(Dialog based)项目以对话框作为项目主窗口。这是最紧凑、最简单的一种标准项目架构。,31,VC+为用户建立项目架构提供了一个强大的工具 MFC AppWizard(MFC应用程序向导)。本实例采用的是对话框架构。,32,操作步骤,1.选择VC6主窗口菜单栏中的“文件新建”菜单项,弹出一个如图3所示的“新建”对话框。2.在对话框中选择“项目”(project)选项卡。选择MFC AppWizardexe(即MFC应用程序)项,在对话框右
20、部输入项目的路径和项目名,然后单击“确定”按钮。VC+以文件夹方式管理项目,如图3所示,case1是D:CPPMFC_PRJ下的一个文件夹,该项目的各种文件都将存放在这个文件夹中。3.在系统弹出如图4所示的“MFC应用程序向导步骤1”对话框中进行项目类型选择。先选择单选按钮“Dialog based”(对话框项目),再单击“下一个”按钮。,33,4.依次选择系统弹出的图5至图7(步骤2至步骤4)中对话框的选项,用户可以先全部采用默认选择,然后在编程过程中再按需要修改。单击图7中的“完成”按钮,或者在出现其中任一个对话框时单击“完成”按钮,表示默认其他选项,系统就不再弹出其他对话框。5.系统弹出
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 可视化 编程 入门 mfc

链接地址:https://www.31ppt.com/p-5248977.html