前言
Windows程序设计23:MFC框架简介。
一、MFC说明
1.界面开发三步走
1.纯API进行窗口的手动创建+手动创建控件+手动响应消息
2.纯API进行对话框窗口的半手动创建+自动创建控件+手动响应消息
3.MFC窗口的自动创建+自动创建控件+自动响应消息
2.什么是MFC
MFC(Microsoft Foundation Classes)是微软提供的一个 C++ 类库,用于简化 Windows 应用程序的开发。它封装了大部分 Windows API,提供了面向对象的编程接口,使开发者能够更高效地创建 Windows 应用程序
简单来说,MFC是一个类库的集合,微软的API都是以C语言形式存在的,MFC就是微软用C++语言对API的封装,封装成了很多类,打包在一起就是类库。实际上MFC不仅仅可以做界面,还包含很多的功能类,见MFC类层次结构图。截取部分如下
通常来说,MFC相较于能够实现相同功能的Windows API函数来说,参数更少,使用起来更为方便。
3.MFC的优缺点
优点:因为MFC对Windows API进行了封装,使用起来更为方便。使用微软封装好的MFC类库进行程序开发会节约很多时间。比如注册窗口类、WM_COMMAND响应按钮消息等都可以忽略,MFC都帮我们做好了。此外,一些函数的默认参数也可以省略可以看一下Windows API MessageBox和MFC中的AfxMessageBox的对比。同时,MFC避开了界面开发、窗口函数、自定义添加消息处理等繁琐操作。
缺点:虽然MFC的源代码对用户是开放的,但是MFC中的一些封装过程十分复杂,导致新用户很难快速掌握MFC的应用程序框架,以及调试时定位问题的位置。同时,很多MFC对象不是线程安全的,导致在跨线程访问MFC对象时需要额外写一些代码。另外,MFC的很多类依赖于应用程序向导生成的代码,使得在使用vs中其他类型的应用程序向导生成的工程中添加MF支持的难度大大增加。
二、MFC简单实例
这部分只是展示一下MFC的方便之处,具体内容在后续博客中进行细致介绍。
1.新建MFC工程
在新建项目页面选择MFC中的MFC应用
选择工程目录和工程名字后点击确定
下面进入MFC的创建向导,这里首先选择基于对话框的程序类型和在静态库中使用MFC,其他选取默认值即可。创建向导中的具体内容在后续进行介绍,这里粗略介绍一下MFC的创建流程
直接运行,界面即可出现
2.消息响应
在MFC中,消息的响应不用创建过程(回调)函数,在如图所示的原文件中
找到如下位置,该函数即为对话框的初始化函数,可以直接将一些初始化的自定义代码放在这个函数中。
3.MFC中的MessageBox
在窗口上加一个按钮,实现点击按钮弹出弹窗。
双击该按钮直接添加消息响应函数
写入如下代码
此时即可正常运行,这里的MessageBox参数只需要一个。
总结
Windows程序设计23:MFC框架简介。