MFC全称是Microsoft Foundation Classes,即微软基础类库。
微软在MFC里以C++类的形式集成了Windows操作系统的大量API,并扩展了一些类如CArray,CString等;此外,MFC还包含了一个windows应用程序开发框架。
以下是对MFC开发框架的一些小结:
1.windows的消息机制
每一个MFC程序对应一个消息循环,应用程序启动时,WinMain会启动这个消息循环,不断检索操作系统发来的消息,当收到操作系统发来的消息时(鼠标点击丶键盘有输入等事件会触发操作系统的消息),消息循环将消息下发到应用程序对应的窗口过程,窗口过程根据消息的不同类型执行不同的处理。
2.MFC框架内的所有标准控件,都是继承自CWnd的,要想控件显示成自己的风格,需要继承已有的控件类,在自己写的类中重绘,如果能找到一些别人写好的MFC自绘控件,也可以拿来用用。
3.MFC控件自绘的时候用的是CDC,CDC是设备描述表,它将显示器等外设虚拟到CDC,重绘时只需要操作CDC虚拟的逻辑平面即可,操作系统能将CDC映射到显示器上。
4.MFC框架可以自定义消息,自定义消息在发送消息的同时还可以传送两个参数,在有多线程或回调函数的项目中很有用,需要频繁更新控件的时候也可以通过发送消息的方式。
5.除了已有的标准控件,MFC还支持COM组件丶ActiveX控件等。
6.MFC中要使用编码无关的字符常量时,用_T宏,char类型用TCHAR,char*用LPTSTR,const char*用LPCTSTR.
7.Windows消息机制
8.MFC标准控件
MFC标准控件可直接拖动,放到界面上,每一种标准控件都可以绑定两种类型的变量:值类型和控件类型,值类型直接与控件显示的值绑定,控件类型除了可以获取控件的值以外还可以控制控件的行为和属性。
UpdateData(TRUE)和UpdateData(FALSE):
UpdateData(TRUE)是将界面上所有控件显示的值赋值给它对应的值类型的变量,UpdateData(FALSE)是将一个值类型的变量的值刷新到它对应的控件上显示出来。
如果要单独获取或设置某个控件的值,可以用GetDlgItemText,GetDlgItemInt,SetDlgItemInt,SetDlgItemText等通过控件ID与控件交互的函数.