VC++ MFC入门精讲

上传人:876****10 文档编号:132663348 上传时间:2020-05-18 格式:PPT 页数:120 大小:258.50KB
返回 下载 相关 举报
VC++ MFC入门精讲_第1页
第1页 / 共120页
VC++ MFC入门精讲_第2页
第2页 / 共120页
VC++ MFC入门精讲_第3页
第3页 / 共120页
VC++ MFC入门精讲_第4页
第4页 / 共120页
VC++ MFC入门精讲_第5页
第5页 / 共120页
点击查看更多>>
资源描述

《VC++ MFC入门精讲》由会员分享,可在线阅读,更多相关《VC++ MFC入门精讲(120页珍藏版)》请在金锄头文库上搜索。

1、2020 5 18 1 MFC基础介绍 2020 5 18 2 MFC 本阶段课程的目的是帮助你理解和掌握VisualC MFC编程的基本概念和技术 很多人使用VisualC 开始于AppWizard 使用它建立一程序框架 然后就不知道下一步该如何是好了 这主要是因为不理解AppWizard所产生的MFC代码的含义 所以你必须了解和掌握MFC代码结构 才能继续下去 课程将从最基础的出发 向你介绍驱动MFC程序的基本概念 使你能更好地理解MFC和AppWizard所产生的代码 2020 5 18 3 第一部分MFC导论第二部分一个简单的MFC程序第三部分MFC样式第四部分消息映射我们使用环境是V

2、isualC 6 0 Windows95或WidnowsNT4 0以上 下载源码就到源码网 2020 5 18 4 第一部分MFC导论VisualC 不仅仅是一个编译器 它是一个全面的应用程序开发环境 使用它你充分利用具有面向对象特性的C 来开发出专业级的Windows应用程序 为了能充分利用这些特性 你必须理解C 程序设计语言 掌握了C 你就必须掌握Microsoft基本类库 MFC 的层次结构 该层次结构包容了WindowsAPI中的用户界面部分 并使你能够很容易地以面向对象的方式建立Windows应用程序 这种层次结构适用于所有版本的Windows并彼此兼容 你用MFC所建立的代码是完全

3、可移植的 2020 5 18 5 本章将向你介绍MFC的基本概念和术语以及事件驱动程序设计方法 在本节中 你将会输入 编译和运行一个简单的MFC程序 下一节中将向你详细解释这些代码 第三部分讨论了MFC控制和如何定制它们 第四部分将介绍消息映射 你将会处理MFC的事件 2020 5 18 6 什么是MFC 如果你要建立一个Windows应用程序 应该如何下手 好的开端是从设计用户界面开始 首先 你要决定什么样的用户能使用该程序并根据需要来设置相应的用户界面对象 Windows用户界面有一些标准的控制 如按钮 菜单 滚动条和列表等 这对那些Windows用户已经是很熟悉了 要记住的是 作为程序员

4、必须选择一组控制并决定如何把它们安排到屏幕上 传统上 你需要在纸上做一下用户界面的草图 直到对各元素感到满意为止 这对于一些比较小的项目 以及一些大项目的早期原型阶段是可以的 2020 5 18 7 下一步 是要实现代码 为任何Windows平台建立应用程序时 程序员都有两种选择 C或C 使用C 程序员是在Windows应用程序界面 API 的水平上编写代码 该界面是由几百个C函数所组成 这些函数在WindowsAPI参考手册中都有介绍 对于WindowsNT API被称为 Win32API 以区别于其用于Windows3 1的16位API 2020 5 18 8 Microsoft也提供了C

5、 库 它位于任何WindowsAPI之上 能够使程序员的工作更容易 它就是Microsoft基本类库 MFC 该库的主要优点是效率高 它减少了大量在建立Windows程序时必须编写的代码 同时它还提供了所有一般C 编程的优点 例如继承和封装 MFC是可移植的 例如 在Windows3 1下编写的代码可以很容易地移植到WindowsNT或Windows95上 因此 MFC是很值得推荐的开发Windows应用程序的方法 在本章自始至终使用的都是MFC 2020 5 18 9 当是使用MFC时 你编写的代码是用来建立必要的用户界面控制并定制其外观 同时你还要编写用来响应用户操作这些控制的代码 例如

6、如果用户单击一个按钮时 你应该有代码来响应 这就是事件驱动代码 它构成了所有应用程序 一旦应用程序正确的响应了所有允许的控制 它的任务也就完成了 你可以看出 使用MFC进行Windows编程时是一件比较容易的的过程 本章的目的是比较详细地教你如何快速建立专业级的应用程序的技术 VisualC 应用程序开发环境特别适合于使用MFC 也有其它开发环境使用MFC 所以一起学习MFC和VisualC 能够增强你的开发程序的能力 2020 5 18 10 Windows词汇在Windows用户界面和软件开发中所要用到的词汇都是基本和唯一的 对于新接触该环境的用户 下面复习几个定义以便使我们的讨论更加容易

7、 Windows应用程序使用几个标准的控制 静态文本标签按钮列表框组合框 一种更高级的列表框 单选按钮检查按钮编辑框 单行和多行 滚动条 2020 5 18 11 你可以通过代码或 资源编辑器 来建立这些控制 在资源编辑器中可以建立对话框和这些控制 在本章中 我们将使用代码来建立它们 Windows支持几种类型的应用程序窗口 一个典型的应用程序应该活动在称为 框架窗口 中 一个框架窗口是一个全功能的主窗口 用户可以改变尺寸 最小化 最大化等 Windows也支持两种类型的对话框 模式和无模式对话框 模式对话框一旦出现在屏幕上 只有当它退出时 屏幕上该应用程序的其余部分才能响应 无模式对话框出现

8、在屏幕上时 程序的其余部分也可以作出响应 它就象浮动在上面一样 2020 5 18 12 最简单的Windows应用程序是使用单文档界面 SDI 只有一个框架窗口 Windows的钟表 PIF编辑器 记事本等都是SDI应用程序的例子 Windows也提供了一种称为多文档界面的组织形式 它可用于更复杂的应用程序 MDI系统允许用户在同一应用程序中同时可以查看多个文档 例如 一个文本编辑器可以允许用户同时打开多个文本文件 使用MDI时 应用程序有一个主窗口 在主窗口中有一些子窗口 每个子窗口中各自包含有各自的文档 在MDI框架中 主窗口有一个主菜单 它对主框架中最顶端窗口有效 各子窗口都可以缩成图

9、标或展开 MDI主窗口也可以变成桌面上的一个图标 MDI界面可能会给你一种第二桌面的感觉 它对窗口的管理和删除混乱的窗口有很大的帮助 2020 5 18 13 你所建立的每一个应用程序都会使用它自己的一套控制 菜单结构以及对话框 应用程序界面的好坏取决于你如何选择和组织这些界面对象 VisualC 中的资源编辑器可以使你能容易的建立和定制这些界面对象 2020 5 18 14 事件驱动软件和词汇所有基于窗口的GUI都包含相同的基本元素 它们的操作方式都是相同的 在屏幕上 用户所看到的是一组窗口 每个窗口都包含有控制 图标 对象以及一些处理鼠标和键盘的元素 从用户角度来看 各系统的界面对象都是相

10、同的 按钮 滚动条 图标 对话框以及下拉菜单等等 尽管这些界面元素的 外观和感觉 可能有些不同 但这些界面对象的工作方式都是相同的 例如 滚动条对于Windows和Macintosh可能有些不同 但他们的作用完全是一样的 2020 5 18 15 从程序员的角度来看 这些系统在概念上是相似的 尽管它们可能有很大的不同 为了建立GUI程序 程序员第一步要把所有需要的用户界面控制都放到窗口上 例如 如果程序员要建立一个从摄氏到华氏的转换的简单程序 则程序员要选择用户界面对象来完成并在屏幕上把结果显示出来 在这个简单的程序中 程序员可能需要用户在一个可编辑的编辑框中输入温度值 在一个不可编辑的编辑框

11、中显示转换结果 然后让用户可以单击一个标有 退出 的按钮来退出应用程序 2020 5 18 16 因为是用户来操作应用程序的控制 所以程序必须作出响应 所做的响应依赖于用户使用鼠标或键盘在不同控制上的操作 屏幕上的每个用户界面对象对事件的响应是不同的 例如 如果用户单击退出按钮 则该按钮必须更新屏幕 加亮它自己 然后程序必须响应退出 Windows所用的模式也是类似的 在一个典型的应用程序中 你将建立一个主窗口 并且在其中放置了一些用户界面控制 这些控制通常被称为子窗口 它们就象一些在主窗口中的更小更特殊的子窗口 作为程序员 你应该通过函数调用来发送信息操作这些控制 通过把信息发送给你的代码来

12、响应用户的操作 2020 5 18 17 如果你从未做过事件驱动程序设计 则所有这些对你来说可能是很陌生的 但是 事件驱动程序设计方式是很容易理解的 具体的细节对不同的系统可能有些不同 但是其基本概念是类似的 在一个事件驱动界面中 应用程序会在屏幕上绘制几个界面对象 如按钮 文本区和菜单 应用程序通常通过一段称为事件循环的的代码来响应用户的操作 用户可以使用鼠标或键盘来任意操作屏幕上的对象 例如 用户用鼠标单击一个按钮 用鼠标单击就称为一个事件 事件驱动系统把用户的动作如鼠标单击和键盘操作定义为事件 也把系统操作如更新屏幕定义为事件 2020 5 18 18 在比较低级的编程方法中 如用C直接

13、编写WindowsAPI应用程序 代码量是非常大的 因为你所要照顾的细节太多了 例如 你用某种类型的结构来接收单击鼠标事件 你的事件循环中的代码会查看结构中不同域 以确定哪个用户界面对象受到了影响 然后会完成相应的操作 当屏幕上有很多对象时 应用程序会变得很大 只是简单地处理哪个对象被单击和对它需要做些什么要花费大量的代码 2020 5 18 19 幸运的是 你可以用比较高级的方法来进行编程 这就是使用MFC 在MFC中 几乎所有的低级的细节处理都为你代办了 如果你把某一用户界面对象放在屏幕上 你只需要两行代码来建立它 如果用户单击一个按钮 则按钮自己会完成一切必要的操作 从更新屏幕上的外观到

14、调用你程序中的预处理函数 该函数包含有对该按钮作出相应操作的代码 MFC为你处理所有的细节 你建立按钮并告知它特定的处理函数 则当它被按下时 它就会调用相应的函数 第四部分介绍了怎样使用消息映射来处理事件 2020 5 18 20 例子理解一个典型的MFC程序的结构和样式的最好方法是输入一段小程序 然后编译和运行它 下面的程序是一段简单的 helloworld 程序 这对很多C程序员都是很熟悉了 让我们看一下如何用MFC方法来实现 如果你是第一次看到这类程序 也许比较难理解 这没关系 我们后面会详细介绍 现在你只要用VisualC 环境中建立 编译和运行它就可以了 2020 5 18 21 h

15、ello cpp include 说明应用程序类classCHelloApp publicCWinApp public virtualBOOLInitInstance 建立应用程序类的实例CHelloAppHelloApp 说明主窗口类classCHelloWindow publicCFrameWnd CStatic cs public CHelloWindow 2020 5 18 22 每当应用程序首次执行时都要调用的初始化函数BOOLCHelloApp InitInstance m pMainWnd newCHelloWindow m pMainWnd ShowWindow m nCmdS

16、how m pMainWnd UpdateWindow returnTRUE 窗口类的构造函数CHelloWindow CHelloWindow 建立窗口本身Create NULL HelloWorld WS OVERLAPPEDWINDOW CRect 0 0 200 200 建立静态标签cs newCStatic cs Create helloworld WS CHILD WS VISIBLE SS CENTER CRect 50 80 150 150 this 2020 5 18 23 上面的这段程序如果用C来实现 得需要几页的代码 这个简单的例子做了三件事 第一 它建立了一个应用程序对象 你所编写的每个MFC程序都有一个单一的程序对象 它是处理MFC和Windows的初始细节的 第二 应用程序建立了一个窗口来作为应用程序的主窗口 最后 在应用程序的窗口中建立了一个静态文本标签 它包含有 helloworld 几个字 在第二部分中我们会仔细研究这段程序 以理解其结构 2020 5 18 24 启动VC 如果你是刚刚安装好 则你会在屏幕上看到一个带有工具栏的空窗口 如果VC 已经在

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

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