收藏 分享(赏)

Windows应用程序框架.ppt

上传人:cw6mk8 文档编号:8871995 上传时间:2019-07-15 格式:PPT 页数:19 大小:353KB
下载 相关 举报
Windows应用程序框架.ppt_第1页
第1页 / 共19页
Windows应用程序框架.ppt_第2页
第2页 / 共19页
Windows应用程序框架.ppt_第3页
第3页 / 共19页
Windows应用程序框架.ppt_第4页
第4页 / 共19页
Windows应用程序框架.ppt_第5页
第5页 / 共19页
点击查看更多>>
资源描述

1、第二讲:Windows应用程序框架,杨章伟 e-mail:,课程内容安排,Windows应用程序设计基础 MFC应用程序框架 MFC应用程序框架说明 综合练习 思考和习题,Windows应用程序设计基础,Windows程序设计是一种完全不同于传统的DOS方式的程序设计方法,其内部运行原理是一种事件驱动方式的程序设计模式,主要是基于消息的。当用户需要完成某种功能时会调用操作系统的某种支持,然后操作系统将用户的需要包装成消息,并投递到消息队列中,最后应用程序从消息队列中取得消息并进行响应,其流程如图2-1所示。,Windows API,Windows程序设计中,在应用程序中要完成某个功能,都是以函

2、数调用的形式实现的。这些函数的集合就是Windows操作系统提供给应用程序编程的接口(Application Programming Interface),简称Windows API。,句柄,在Windows编程中读者将频繁接触到一个称为句柄(HANDLE)的概念。Windows程序中产生的任何资源(要占用某一块或大或小的内存),如图标、光标、窗口和应用程序的实例(已加载到内存运行中的程序)等。操作系统每产生一个这样的资源时,都要将它们放入相应的内存,并为这些内存指定一个唯一的标识号。这个标识号即是该资源的句柄。 比如在大街上来来往往的汽车,有许多是相同型号、相同品牌的,也有许多是不同型号、大

3、小的汽车,那么如何分辩某一辆汽车是属于谁的呢?就是通过车牌号。因为车牌号是唯一的,那么车牌号就是汽车这个资源的句柄,如图2-3所示。,消息及消息队列,在应用程序中,用户所有的操作都是通过消息机制(Message)来传递给操作系统的,操作系统将每个事件都包装成一个称为消息的结构体MSG来传递给应用程序。例如用户在某个程序活动时按了一下键盘,操作系统马上能感知到这一事件,并且能够知道用户按下的是哪一个键。操作系统并不决定对这一事件如何作出反应,而是将这一事件转交给应用程序。由应用程序决定如何对这一事件作出反应,对事件作出反应的过程就是消息响应。,消息与应用程序,在Windows编程中,消息与应用程

4、序的关系如图2-4所示。,MFC应用程序框架,应用程序框架是一个集合,其可以提供一般应用程序所需的全部面向对象软件组件。或者说,一个应用程序框架是一个类库的超级集合。一个应用程序框架不同于单纯的类的集合,其自己定义了程序的结构。 比如奔驰汽车的生产厂家,其可以生成所有的奔驰汽车的零件,并有其自己的生产线,那么这个厂家就是一个应用程序框架。在这个框架中,可以生产出很多型号的奔驰汽车,如图2-5所示。,MFC简介,MFC即微软基本类库,其位于任何Windows API之上。在这个类库中包含了一百多个程序开发过程中最常用到的对象。形象地说,MFC就是一个人才管理中心。其中有许许多多掌握了各种技能的人

5、,有工程师、教师、医生等。当社会需要某种技能的人时,就从该MFC中取出并应用到环境中,如图2-6所示。,MFC应用程序框架说明,打开前面创建的Hello World工程的工作区,可以看到系统在生成应用程序框架的过程中,自动生成了以下几个类。 CHelloWorldApp; CMainFrame; CHelloWorldView; CHelloWorldDoc。 这些类在工程Hello World工作区上的显示如图2-16所示。,CHelloWorldApp类,CHelloWorldApp的基类为CWinApp。如果需要创建MFC应用程序,首先要使用CWinApp类,因为CWinApp类不仅代表

6、了程序中运行的主线程,而且代表了应用程序本身。在任何MFC应用程序中只有一个CWinApp对象,用于控制应用程序的初始化、启动应用程序、运行主消息循环、终止应用程序。,CMainFrame类,类CMainFrame的基类为CFrameWnd。其是由MFC中的CFrameWnd派生来的,所以它也是一个框架窗口。主框架窗口类负责标题栏、菜单栏工具栏及状态栏的生成。事实上,这些子窗口是可以按照用户的意图自定义的,只需要修改主框架窗口的实现文件即可。,CHelloWorldView类和CHelloWorldDoc类,CHelloWorldView类的基类为CView,而CHelloWorldDoc类的

7、基类为CDocument。之所以把CHelloWorldView类和CHelloWorldDoc类一起介绍是因为这两个类是密切相关的。 视图是显示文档数据的界面,它主要占据着主框架窗口的客户区,视图类不仅把程序文档数据显示出来,它还能接受用户的输入、编辑。视图对象也通过消息与主框架、文档对象相互操作。,文档与视图的关系,文档对象是存储程序数据的地方。一般来说,把要存储的数据放到文档对象中,即把要存储的数据作为文档对象的成员变量,进而实现文档的串行化。文档与视图的关系如图2-18所示。,综合练习,应用Visual C+ 6.0编写一个Windows应用程序,要求在该程序窗口坐标的(200,200)位置显示“欢迎使用Visual C+”的字样。,提示,新建一个【MFC Applicationexe】应用程序,根据AppWizard向导一步一步建立MFC框架,在生成框架的OnDraw中加入语句: pDC-TextOut(200,200,“欢迎使用Visual C+“);,思考和习题,什么是API? 句柄的作用是什么? 消息机制的作用是什么? 什么是MFC?其作用是什么? 如何创建一个基于MFC的应用程序框架? 系统在生成应用程序框架的过程中,自动生成了几个类?其分别是? 分别说出生成框架时创建的4个类的作用。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报