MFC
,微软基础类
(Microsoft Foundation Classes)
,实际上是微软提供的,用于在
C++
环境下编写应用程序的一个框架和引擎,
WinOS
下开发人员使用的专业
C++ SDK
,
MFC
作为与
VC++
血肉相连的部分,(注意
C++
和
VC++
的区别:
C++
是一种程序设计语言,是一种大家都承认的软件编制的通用规范,而
VC++
只是一个编译器,或者说是编译器
+
源程序编辑器的
IDE
,
WS
,
PlatForm,
这同于
Pascal
和
Dephi, Pascal
是
Dephi
的语言基础
, Dephi
使用
Pacal
规范来进行
Win
下应用程序的开发和编译。却不同于
Basic
语言和
VB
的关系,
Basic
语言在
VB
开发出来被应用的年代已经成了
Basic
语言的新规范,
VB
新加的
Basic
语言要素,如面对对象程序设计的要素,是一种性质上的飞跃,使
VB
既是一个
IDE
,又出长成一个新的程序设计语言,)同
BC++
集成的一个框架一样(名称查询中。。)是一个非外挂式的软件包,类仓库,开发平台,这些类是微软为
VC++
专配的,
MFC
是
Win API
与
C++
的结合,
{
(
API,
即
[
微软提供的
WinOS
下
]
应用程序的
[
编程语言
]
接口),是一种软件编程的规范,便不是一种程序开发语言本身,可以让用户使用各种各样的第三方
[
我是一方,微软是一方,
Borland
就是第三方
]
的编程语言来进行对
Win OS
下应用程序的开发,使这些被开发出来的应用程序能很好地在
WinOS
下运行,只要它们是接受和遵循
API
规范的,
[
这其实也是一种必要,微软如果不提供
API
,这个世上对
Win
编程的工作就不会存在,微软的产品就会迅速从时尚变成垃圾
]
,
VB
,
VC
,
BC
,
BCB
,
VCB
,
Dehpi
应用程序本质上全部运行于
API
机制,工作在
WinOS
的消息机制和绘图里,遵守
WinOS
作为一个操作系统的内部实现
,}
,是对
API
函数的专用
C++
封装,这种结合一方面让用户使用微软的专业
C++ SDK
来进行
Win
下应用程序的开发变得容易,因为
MFC
是对
API
的封装,微软做了大量的工作,隐藏了好多内节程序开发人员在
Win
下用
C++& MFC
编制软件时的大量内节,如应用程序实现消息的处理,设备环境绘图,这种结合是以方便为目的的,必定要付出一定代价,(这是微软的一向作风)因此就造成了
MFC
对类封装中的一定程度的的冗余和迂回,但这是可以接受的。。
从另一个方面来理解 MFC ,比如游戏开发,游戏特效如传奇 2 里的魔法效果,雷电术,硬件显卡的支持, C++ 下有好多类都能实现
MFC 不只是一套微软提供下的一个 Win 下 C++ 的开发平台,也不只是一个功能单纯的界面开发系统,它提供的类绝大部分用来进行界面开发,关联一个窗口的动作,但它提供的类中有好多类不与一个窗口关联,即类的作用不是一个界面类,不实现对一个窗口对象的控制(如创建,销毁),而是一些在 WinOS (用 MFC 编写的程序绝大部分都在 WinOS 中运行)中实现内部处理的类,如数据库的管理类等,学习中最应花费时间的是消息和设备环境,学习 C++ 最难的部分是指针, C++ 面向对像程序设计的其它部分,如数据类型,流程控制都不难,建议学习数据结构 C++ 版;
从另一个方面来理解 MFC ,比如游戏开发,游戏特效如传奇 2 里的魔法效果,雷电术,硬件显卡的支持, C++ 下有好多类都能实现
MFC 不只是一套微软提供下的一个 Win 下 C++ 的开发平台,也不只是一个功能单纯的界面开发系统,它提供的类绝大部分用来进行界面开发,关联一个窗口的动作,但它提供的类中有好多类不与一个窗口关联,即类的作用不是一个界面类,不实现对一个窗口对象的控制(如创建,销毁),而是一些在 WinOS (用 MFC 编写的程序绝大部分都在 WinOS 中运行)中实现内部处理的类,如数据库的管理类等,学习中最应花费时间的是消息和设备环境,学习 C++ 最难的部分是指针, C++ 面向对像程序设计的其它部分,如数据类型,流程控制都不难,建议学习数据结构 C++ 版;