Windows程序设计―MFC编程和操作课件

上传人:我*** 文档编号:142184052 上传时间:2020-08-17 格式:PPT 页数:55 大小:699.50KB
返回 下载 相关 举报
Windows程序设计―MFC编程和操作课件_第1页
第1页 / 共55页
Windows程序设计―MFC编程和操作课件_第2页
第2页 / 共55页
Windows程序设计―MFC编程和操作课件_第3页
第3页 / 共55页
Windows程序设计―MFC编程和操作课件_第4页
第4页 / 共55页
Windows程序设计―MFC编程和操作课件_第5页
第5页 / 共55页
点击查看更多>>
资源描述

《Windows程序设计―MFC编程和操作课件》由会员分享,可在线阅读,更多相关《Windows程序设计―MFC编程和操作课件(55页珍藏版)》请在金锄头文库上搜索。

1、第三章 MFC编程和操作,3.1Windows编程 3.2MFC编程 3.3MFC程序应用 3.4消息和消息映射 3.5Visual C+常用操作,3.1 Windows编程,3.1.1C+的Windows编程 早期的Windows应用程序开发是使用C/C+通过调用Windows API所提供的结构和函数来进行的。对于有些特殊的功能,有时还要借助相应的软件开发工具(Software Development Kit,简称SDK)来实现。 优点:运行效率高 缺点:编程繁琐、手工代码量也比较大。 参见程序Ex_HelloMsg,分析: Windows应用程序中,main主函数被WinMain函数取代

2、。 每一个C+ Windows应用程序都需要Windows.h头文件,它还包含了其他的一些Windows头文件。这些头文件定义了Windows的所有数据类型、函数调用、数据结构和符号常量。 程序中结果的输出已不再是显示在屏幕上,而是通过对话框(如MessageBox)来显示或将结果绘制在用户界面元素上。 参见一个比较完整的Windows应用程序Ex_HelloWin,3.1 Windows编程,3.1.2 Windows编程特点 1. 消息驱动机制 C+控制台应用程序是通过调用系统函数来获得用户输入的,而Windows应用程序则是通过系统发送的消息来处理用户输入的。,3.1 Windows编程

3、,图形设备接口 Windows提供了一个抽象的接口,称为图形设备接口(Graphical Device Interface,简称GDI),使得用户直接利用系统的GDI函数就能方便实现输入或输出,而不必关心与系统相连的外部设备的类型。,3.1 Windows编程,3. 基于资源的程序设计 Windows应用程序常常包含众多图形元素,在Windows环境下,每一个这样的元素都作为一种可以装入应用程序的资源来存放。这些资源就像C+程序中的常量一样,可以被编辑、修改,也可以被其他应用程序所共享。 4. 动态链接库 动态链接库提供了一些特定结构的函数,能被应用程序在运行过程中装入和连接,且多个程序可以共

4、享同一个动态链接库,这样就可以大大节省内存和磁盘空间。,3.1 Windows编程,5. 进程和线程 进程是装入内存中正在执行的应用程序。进程包括私有的虚拟地址空间、代码、数据及其它操作系统资源,如文件、管道以及对该进程可见的同步对象等。进程包括了一个或多个在进程上下文内运行的线程。 线程是操作系统分配CPU时间的基本实体。线程可以执行应用程序代码的任何部分,包括当前正在被其它线程执行的那些部分。同一进程的所有线程共享同样的虚拟地址空间、全局变量和操作系统资源。,3.1 Windows编程,3.1.3 Windows基本数据类型 基本数据类型的别名: 这些基本数据类型都是以大写字符出现 凡是数

5、据类型的前缀是P或LP,则表示该类型是一个指针或长指针数据类型。如果前缀是H,则表示是句柄类型。若前缀是U,则表示是无符号数据类型,等等。 Windows还提供一些宏来处理上述基本数据类型。例如,LOBYTE和HIBYTE分别用来获取16位数值中的低位和高位字节;LOWORD和HIWORD分别用来获取32位数值中的低位和高位字;等等。,3.1 Windows编程,3.1 Windows编程,3.1 Windows编程,3.2 MFC编程,3.2.1 MFC概述,CObject类是MFC提供的绝大多数类的基类。该类完成动态空间的分配与回收,支持一般诊断、出错信息处理和文档序列化等。 CCmdTa

6、rget类主要负责将系统事件(消息)和窗口事件(消息)发送给响应这些事件的对象,完成消息发送、等待和派遣(调度)等工作,实现应用程序的对象之间协调运行。 CWinApp类是应用程序的主线程类,它是从CWinThread类派生而来。 CWinThread类用来完成对线程的控制,包括线程的创建、运行、终止和挂起等。,3.2 MFC编程,CDocument类是文档类,包含了应用程序在运行期间所用到的数据。 CWnd类是一个通用的窗口类,用来提供Windows 中的所有通用特性、对话框和控件。CFrameWnd 类是从 CWnd 继承来的,并实现了标准的框架应用程序。 CDialog 类用来控制对话框

7、窗口。 CView 是用于让用户通过窗口来访问文档。 CMDIFrameWnd和CMDIChildWnd类分别用来多文档应用程序的主框架窗口和文档子窗口的显示和管理。CMiniFrameWnd类是一种简化的框架窗口,它没有最大化和最小化窗口按钮,也没有窗口系统菜单,一般很少用到它。,3.2 MFC编程,3.2.2 一个MFC程序 参见程序Ex_HelloMFC,3.2 MFC编程,3.2.3 理解程序代码 当用户运行应用程序时,Windows会自动调用应用程序框架内部的WinMain函数,并自动查找该应用程序类CHelloApp(从CWinApp派生)的全局变量theApp,然后自动调用CHe

8、lloApp的虚函数InitInstance,该函数会进一步调用相应的函数来完成主窗口的构造和显示工作。(1) 首先执行的是: m_pMainWnd = new CMainFrame(); (2) 然后执行后面两句: m_pMainWnd-ShowWindow(m_nCmdShow); m_pMainWnd-UpdateWindow(); (3) 最后返回TRUE,表示窗口创建成功。,3.2 MFC编程,3.2.4 MFC应用程序框架类型 Visual C+ 6.0中的MFC AppWizard能为用户快速、高效、自动地生成一些常用的标准程序结构和编程风格的应用程序,它们被称为应用程序框架结构

9、。,3.2 MFC编程,MFC AppWizard(exe) :单文档、多文档和基于对话框的应用程序。 与单文档应用程序相比较,基于对话框的应用程序是最简单,也是最紧凑的。它没有菜单、工具栏及状态栏,也不能处理文档,但它的好处是速度快,代码少,程序员所花费的开发和调试时间短。 多文档应用程序,顾名思义,能允许同时打开和处理多个文档。与单文档应用程序相比,增加了许多功能,因而需要大量额外的编程工作。例如它不仅需要跟踪所有打开文档的路径,而且还需要管理各文档窗口的显示和更新等。,3.2 MFC编程,3.2 MFC编程,3.3 MFC程序应用,3.3.1 文档应用程序创建 参见程序单文档应用程序Ex

10、_SDI,3.3 MFC程序应用,3.3 MFC程序应用,3.3 MFC程序应用,创建的单文档应用程序Ex_SDI界面和其它文档应用程序一样,都有标题栏、菜单栏、工具栏、状态栏以及客户区(文档窗口)等界面元素。,3.3 MFC程序应用,参见多文档应用程序EX_MDI(其步骤与Ex_SDI一样),编译并运行后,其结果如下图,文档窗口,主框架窗口,3.3 MFC程序应用,3.3.2 项目文件和项目配置 由于这些应用程序还包含了除源程序外的许多信息,因此,在Visual C+中常将它们称为项目或工程。另外,Visual C+是用文件夹来管理一个应用程序项目的,且将项目名作为文件夹名,在此文件夹下包含

11、源程序代码文件(.cpp,.h)、项目文件(.dsp)以及项目工作区文件(.dsw)等。这些文件类型的含义如下表。,3.3 MFC程序应用,3.3 MFC程序应用,上述创建的单文档应用程序项目Ex_SDI,其各文件的组织如下图所示。,3.3 MFC程序应用,3.3.3 项目管理 1. ClassView 项目工作区窗口的ClassView页面用以显示和管理项目中所有的类。,3.3 MFC程序应用,2. ResourceView ResourceView页面用于显示和管理项目中所有的资源,它与ClassView页面一样,都是按树层次结构来呈现不同的显示列表。,3.3 MFC程序应用,在Visua

12、l C+中,每一个图片、字符串值、工具栏、图标或其他非代码元素等都可以看作是ResourceView页面中的一种资源结点,并使用了各自默认的资源结点图标。,3. FileView FileView可将项目中的所有文件(C+源文件、头文件、资源文件、Help文件等)分类按树层次结构来显示。,3.3 MFC程序应用,3.3.4 资源和资源标识 1. 资源的分类 单文档应用程序Ex_SDI 的ResourceView所有使用到的默认资源,它可分为下列几类: (1)快捷键列表(Accelerator)。一系列组合键的集合,被应用程序用来引发一个动作。该列表一般与菜单命令相关联,用来代替鼠标操作。 (2

13、)对话框(Dialog)。含有按钮、列表框、编辑框等各种控件的窗口。 (3)图标(Icon)。代表应用程序显示在Windows桌面上的位图,它同时有32x32像素和16x16像素两种规格。,3.3 MFC程序应用,3.3.4 资源和资源标识 (4)菜单(Menu)。用户通过菜单可以完成应用程序的大部分操作。 (5)字串表(String Table)。应用程序使用的全局字符串或其他标识符。 (6)工具栏(Toolbar)。工具栏外观是以一系列具有相同尺寸的位图(按钮)组成的,它通常与一些菜单命令相对应,用以提高用户的工作效率。 (7)版本信息(Version)。包含应用程序的版本、用户注册码等相

14、关信息。 Visual C+ 6.0应用程序中还可有鼠标指针、HTML等,也可以自己添加新的资源类别。,3.3 MFC程序应用,2. ID标识符 每一个资源类别下都有一个或多个相关资源,每一个资源均是由标识符来定义的。一般地,要遵循下列规则: (1)在标识符名称中允许使用字母az、AZ、09以及下划线。 (2)标识符名称不区分大小写字母,如new_idd与New_Idd是相同的标识符。 (3)不能以数字开头,如8BIT是不合法的标识符名。 除了上述规则外,出于习惯,Visual C+还提供了一些常用的定义标识符名称的前缀供用户参考使用,见下表。,3.3 MFC程序应用,常用标识符定义的前缀,3

15、.3 MFC程序应用,3.3.5 框架窗口、文档和视图 1. 主框架窗口 文档应用程序中的窗口可分为两类:一类是应用程序主窗口,另一类是文档窗口。 应用程序主窗口是应用程序直接放置在桌面(DeskTop)上的那个窗口,又称为主框架窗口。每个应用程序只能有一个主框架窗口,它常包含标题栏、菜单栏、工具栏和状态栏。主框架窗口的标题栏上往往显示应用程序的名称和当前活动的文档名。,3.3 MFC程序应用,2. 文档窗口 文档窗口对于单文档应用程序来说,它和主框架窗口是一致的,即主框架窗口就是文档窗口;而对于多文档应用程序,文档窗口是主框架窗口的子窗口。 文档窗口一般都有相应的可见边框,它的客户区是由相应

16、的视图类(默认从CView类派生)来构成的,而CView类又是从窗口类CWnd派生,因此可以说视图是文档窗口内的子窗口。文档窗口时刻跟踪当前处于活动状态的视图的变化,并将用户或系统产生的命令消息传递给当前活动视图。而主框架窗口负责管理各个用户交互对象并根据用户操作相应地创建或更新文档窗口及其视图。,3.3 MFC程序应用,3.3.6 对话框和控件 对话框是一个特殊类型的窗口,可以作为各种控件的容器,可用于捕捉和处理用户的多个输入信息或数据。控件是一种具有独立功能的、能进行交互的窗口。对话框和一般控件类都是从CWnd派生而来。,3.3 MFC程序应用,3.3 MFC程序应用,3.3 MFC程序应用,3.3 MFC程序应用,3.4 消息和消息映射,3.4.1 使用类向导 MFC类向导是Visual C+ 6.0中又一个非常有用的工具。它能自动为一个项目添加一个类、进行消息和数据映射、创建OLE Automation(自动化)属性和方法以及进行ActiveX事件处理等。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号