1.MFC的诞生
开发人员发现撰写Windows应用程序是重复、厌烦的过程,而且效率极低。因为每一个窗口都需要在窗口函数中处理大量的消息,导致出现大量的重复代码。
随着C++语言的盛行,开发人员发现利用C++语言的特性来封装Windows API和Windows应用程序的开发可以明显地提高程序的开发效率。于是,MFC就诞生了。
2.MFC简单介绍
MFC的英文全称是Microsoft Fundation Class Library,即微软基础类库。
MFC中的类按照功能的不同,可以分为不同的层次,有关MFC中的所有类及类库层次,此处不赘述,之后有涉及的时候再学习。
MFC中的数据类型与Windows SDK开发包中的数据类型多数是一致的,但也有一些数据类型是MFC独有的。如:POSITION(用于标记集合中一个元素的位置),LPCRECT(指向一个RECT结构体常量的32位指针)。
MFC类库中除了提供实现各种功能的类以外,还提供了许多全局函数,有:MFC诊断函数、异常抛出函数、字符串格式和消息框函数、应用程序信息和管理函数、集合类帮助函数、记录字段交换函数、OLE相关函数、Internet URL解析全局函数。
3.MFC应用程序
使用VS2010创建一个基于对话框的MFC应用程序,编译运行后,会直接有一个对话框。它是如何出现的呢?
在编译应用程序的时候,首先会构造工程中的全局对象,即先创建全局对象。我们可以在自己创建的工程中找到MFC应用程序向导创建的全局对象theApp。调试代码,按F11逐语句调试,同时注意查看“调用堆栈”窗口,最终会进入_tWin