微软基础类库(英语:Microsoft Foundation Classes,简称MFC)是一个微软公司提供的类库(class libraries),以C++类的形式封装了Windows API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。其中包含的类包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。 ----维基百科对MFC的定义
上面的定义简单介绍了MFC,同时说出了MFC的一个优点——基于框架编程,减少工作量。其中还出现了一个词语“封装”,MFC封闭了大部分Windows API函数、数据结构、甚至是程序执行过程。
新建一个简单的MFC窗口程序,就可以感受到MFC的特点。
从CWinApp派生一个应用程序类,然后创建应用程序类的对象(theApp),自己根据需要实现InitInstance()虚函数,就可以生成一个自己需要的窗口。
在Win32中,创建一个窗口程序需要做的工作:如注册窗口类、创建并显示窗口、入口函数、窗口过程函数、处理消息循环等基本都由MFC实现了。
这个简单的MFC客串程序,体现了MFC的封装,以及基于模板编程,对工作量的减轻。