天天看点

MFC之路1.Windows应用程序框架

1. Windows应用程序设计基础

(1)内部运行原理是一种事件驱动方式的程序设计模式,主要是基于消息的。当用户需要完成某种功能时,会调用操作系统的某种支持,然后操作系统将用户的需要包装成消息,并投递到消息队列中,最后应用程序从消息队列中取得消息并进行相应。其流程如图1.1所示:

MFC之路1.Windows应用程序框架

(2)Windows API:Windows程序设计中,在应用程序中要完成某个功能,都是以函数调用的形式实现的。这些函数的集合就是Application Programming Interface,简称Windows API。

MFC之路1.Windows应用程序框架

(3)句柄(Handle):Windows程序中产生的任何资源(要占用某一块或大或小的内存),如图标、光标、窗口和应用程序的实例(已加载到内存运行中程序)等。操作系统每产生一个这样的资源时,都要将它们放入相应的内存,并为这些内存指定一个唯一的标识号。这个标识号即是该资源的句柄。

(4)消息及消息队列

在应用程序中,用户所有的操作都是通过消息机制(Message)来传递给操作系统的,操作系统将每个事件都包装成一个消息的结构体MSG来传递给应用程序。

例如用户在某个程序活动时按了一下键盘,操作系统马上能感知到这一事件,并且能够知道用户按下的是哪一个键。操作系统并不决定对这一事件如何做出反应,而是将这一事件转交给应用程序。有应用程序决定如何对这一事件做出反应,对事件做出反应的过程就是消息响应。

在Windows编程中,消息与应用程序的关系如图所示:

MFC之路1.Windows应用程序框架

2. MFC应用程序框架

(1)应用程序框架是一个集合,其可以提供一般应用程序所需要的全部面向对象软件组件。或者说,一个应用程序框架是一个类库的超级集合。一个应用程序框架不同于单纯的类的集合,其自己定义了程序的结构。

(2)MFC即微软基本类库,其位于任何Windows API之上。在这个类库中包含了一百多个程序开发过程中最常用到的对象。