MFC库与Windows程序开发概述.ppt_第1页
MFC库与Windows程序开发概述.ppt_第2页
MFC库与Windows程序开发概述.ppt_第3页
MFC库与Windows程序开发概述.ppt_第4页
MFC库与Windows程序开发概述.ppt_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

Windows程序的特点基本概念MFC类库简介使用AppWizard开发MFC应用程序 13 1Windows程序的特点 Windows程序的主要特点 1 用户界面统一 友好2 独立于设备的图形操作3 支持多任务4 队列化消息输入5 支持队列特征的消息驱动模型6 事件驱动的程序设计 7 资源共享系统资源 CPU 显示器 内存 键盘 鼠标 定时器 通信端口 窗口可视元素 应用程序 由句柄表示 用户自定义资源 窗口可视元素的映像 由一个自定义的整数或者名字在程序范围内来惟一标志 8 程序和资源分开 1 可降低内存需求 2 便于统一管理和重复利用 3 应用程序与界面有一定的独立性 9 支持应用程序间的数据交换 13 2基本概念 1 事件及事件驱动事件的产生 l操作输入设备 如键盘和鼠标 l点击屏幕上可视的对象 如菜单 工具栏按钮 滚动条和对话框上的控件 l来自Windows内部 如当一个后面的窗口显示到前面来时 2 基于事件驱动的程序模型 图13 2 1支持队列特征的消息驱动模型 3 消息队列 图13 2 2支持队列特征的消息驱动模型 图13 2 3Windows程序和消息的基本流程 13 3MFC类库简介 MFC MicrosoftFoundationClass 微软基础类库 是基于Win32API的C 类库集 它提供了管理窗口 菜单 对话框等大量可重用代码 隐藏了程序设计中的许多复杂工作 是用户能够较为轻松地开发出标准的Wingdows应用程序 MFC按照C 类的层次形式进行组织 层次较高的类提供一般的功能 层次较低的类从层次较高的类派生而来 继承了高层次类的行为 实现更为具体的功能 MFC用C 类对大多数Win32API函数进行了封装 使程序员的开发工作变得更加容易 MFC提供的基于文档 视图 简称Doc View 的应用程序开发模型 是将应用程序数据与用户界面元素分离的编程方法 使得更改其中一部分程序时不必大量更改另一部分程序 1 根类CObjectMicrosoft基本类库中的大多数类都是由CObject类派生而来的 CObject对所有由它派生出的类提供了有用的基本服务 2 MFC应用结构类MFC应用结构类用于构造一个应用的框架 对大多数应用提供了通用功能 我们可以在框架中填写对于应用特定的功能 AppWizard可以产生几种类型的应用 以不同的方式使用应用框架 1 应用程序和线程支持类2 命令例程类3 文档类4 文档模板类 MFC库中的常用类 3 窗口 对话框和控件类1 CWnd类2 框架窗口类3 对话框类4 视图类5 控件类6 控件条类4 菜单类5 绘图和打印类6 简单的数据类型类7 数组 列表和映射类 8 文件和数据库类1 文件I O类2 DAO类3 ODBC类9 Internet和网络类Internet和网络类允许与其他使用ISAPI的计算机或一个WindowsSocket交换信息 10 OLE类11 调试和异常类 13 4使用AppWizard开发MFC应用程序 13 4 1生成MFC应用程序框架 例 使用MFCAppWizard生成一个简单的MFC应用程序 步骤如下 1 启动MFCAppWizard 定义项目名称 在File菜单下选择New 出现如图13 4 l所示的New对话框 在图13 4 1中选择MFCAppWizard exe 在Projectname文本输入框中输入新建的项目名如Mymfc后 单击OK按钮 将弹出MFCAppWizard Step1对话框 如图13 4 2所示 图13 4 1New对话框 图13 4 2MFCAppWizard Step1对话框 2 MFCAppWizard Step1对话框 选择应用程序的类型和语言 在设置好上述选项后 单击Next按钮 将弹出MFCAppWizard Step2of6对话框 如图13 4 3所示 3 MFCAppWizard Step2of6对话框 设置数据库选项 在该对话框中可以设置应用程序所包含的如下特点 None 默认选项 不使用数据库特征 Headerfilesonly 标题文件 Databaseviewwithoutfilesupport 数据库查看不使用文件支持 Databaseviewwithfilesupport 数据库查看使用文件支持 图13 4 3MFCAppWizard Step2of6对话框 图13 4 4MFCAppWizard Step3of6对话框 选择默认选项None后 单击Next按钮 将弹出MFCAppWizard Step3of6对话框 如图13 4 4所示 4 MFCAppWizard Step3of6对话框 设置OLE选项 因为这里生成的Mymfc应用程序不使用OLE 所以选择默认选项None 单击Next按钮 将弹出MFCAppWizard Step4of6对话框 如图13 4 5所示 5 MFCAppWizard Step4of6对话框设置应用程序外观 设置工具栏的风格 lNormal 普通的工具栏 lInternetExplorerReBars 具有Internet资源管理器风格的工具栏 按照图13 4 5设置各选项 单击Next按钮 将弹出MFCAppWizard Step5of6对话框 如图13 4 6所示 图13 4 5MFCAppWizard Step4of6对话框 图13 4 6MFCAppWizard Step5of6对话框 6 MFCAppWizard Step5of6对话框 设置应用程序的风格 在该对话框中可以设置应用程序的风格 具体可以是下面两个值之一 MFCStandard 标准的MFC应用程序 WindowsExplorer 具有Windows资源管理器风格的应用程序 在此还可以设置是否在应用程序向导生成的代码中加注注释 它可以是下面两个值之一 Yes please 在向导生成的代码中加注注释 No thankyou 在向导生成的代码中不加注注释 同时在该对话框中还可以设置使用MFC库文件的方式 它可以是下面两个值之一 AsasharedDLL 以共享动态链接库的方式使用MFC库文件 Asastaticallylinkedlibrary 以静态链接库的方式使用MFC库文件 按照图13 4 6选择默认选项 单击Next按钮 将弹出MFCAppWizard Step6of6对话框 如图13 4 7所示 7 MFCAppWizard Step6of6 修改类的信息 在MFCAppWizard Step6of6对话框中 可以设置向导生成的文件名和类名 图13 4 7MFCAppWizard Step6of6对话框 在设置好文件名和类名后 单击Finish按钮 将弹出新建工程信息对话框 该对话框列出了关于新建立的应用程序项目文件的相关信息 如图13 4 8所示 8 单击图13 4 8中的OK按钮 应用程序向导所有的工作就全部完成了 这时向导已经为用户生成了一个可执行的应用程序框架 如下图所示 9 编译运行 MFCAppWizard已经生成了一个基本的应用程序 Mymfc应用程序的运行结果如下图所示 1 生成的C 类MFCAppWizard为Mymfc程序生成了四个类 lCMymfcApp 应用程序类 负责程序的初始化 运行以及结束处理 lCMainFrame 主窗口类 负责主窗口的创建 显示和搜索用户命令以及消息派发 lCMymfcDoc 文档类 负责应用程序文档的装载和维护 文档是应用程序需要保存的任何内容 lCMymfcView 视图类 负责为文档提供一个或几个视图 视图的作用是为显示和修改文档提供人机界面 它们的基类及其声明和定义文件如表13 1所示 13 4 2查看AppWizard生成的信息 表13 1MFCAppWizard生成的类 2 生成的文件AppWizard创建项目时 在指定的 Mymfc目录下创建了许多文件 这些文件包含了框架程序的所有的类 全局变量的声明和定义 如图13 4 11所示 图13 4 11 Mymfc目录下创建的文件 1 工作区 项目和类信息文件AppWizard为应用程序生成相应的工作区 项目和类信息文件如表13 2所示 2 应用程序头文件和源文件AppWizard生成的头文件和源文件如表13 3所示 3 资源文件Mymfc rc resource h Mymfc ico Toolbar bmp等资源文件含有菜单定义 快捷键表 字符串表 About对话框 图标和工具栏位图 Mymfc rc2用于存放VisualStudio不可直接编辑的资源 4 StdAfx cpp和StdAfx hStdAfx cpp用于只需编译一次的存放在StdAfx h文件中的预编译头文件 afxwin h afxext h afxcmn h以及用户不想让IDE每次都编译的MFC头文件 13 4

温馨提示

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

评论

0/150

提交评论