MFC从它的本身来说,它的大部分的功能仍是通过调用最基本的WIN32 API来实现的。它利用OOP的技术,把Windows编程复杂细节封装,隐藏。即使你对Windows不太了解,也能通过MFC进行程序设计。但是,不理解Windows的运行机制,你最终仍然不能更深入地从MFC的内部了解MFC,不能更好的发挥MFC的性能。所以,有必要了解Windows应用程序与运行机制。这也是Windows的编程基础。
Windows运行机制是: 以消息为基础,事件驱动的模型。 如下图
从上图可能看到,每个Windows应用程序都由两个主要部分:主应用程序自身与至少一个能进行消息处理的窗口过程。
Windows系统位于硬件与应用程序之间,时刻监视着系统的软硬件产生的“输入”,每当有某个应用程序所感兴趣的事件发生时,Windows都会以消息的形式发送到应用程序的消息队列中。应用程序从消息队列中取出消息并处理消息。这与DOS下的编程有很大的不同。当在DOS下编写程序时,你或多或少会凌驾于系统之上。DOS是你的奴隶,但在Windows编程过程中,Window与应用程序之间变得更加的协作。Windows和应用程序进入一个控制循环彼此相互传递消息。从某个角度上来看,Window应用程序是由一系列的消息处理代码构成。
为了更具体的说明上面过程,可看下图: