关闭

MFC学习步步高01

1329人阅读 评论(1) 收藏 举报
 
 本人同意他人对我的文章引用,但请在引用时注明出处,谢谢.作者:蒋志强 
MFCMicrosoft Fundation Class的缩写,也就是微软基础类库,这是一个FrameWork类库.也就是说这个类库中的类相互联系组织,构建一个应用程序的框架类库.类库有很多种,但作为框架类库的要求很高,因为它需要很好的设计组织用来供程序员搭建应用程序框架.Borland的OWL(Object Window Library)还有微软的.Net FrameWork也是一个框架类库.
MFC框架类库不仅搭建了程序结构框架,处理消息循环,还处理线程,文件,网络,绘图,常见数据结构等等.MFC从最开始设计出来以后,一直在不断的改进,直到更新到MFC 4.2以后,之后的版本基本没有大的变化.VC6中使用的版本是MFC 6.0(实际上与MFC 4.2一模一样),现在最新的MFC版本是MFC7.0(实际上99%MFC 4.2一样).下图是MFC 7.0的类层次结构图
 
有过直接调用Win32 API编写Windows应用程序的朋友会发现,MFC中类的方法和WIN32 API名字很相似或者一样.MFC实际上就是对WIN32 API的封装,MFC类的方法实际上是在调用下层原始的WIN32 API,所以我们也可以在MFC的程序中直接调用原始的WIN32 API.如果我们要这样做,我们需要在API函数前加上::符号(比如::GetDC),这样去和MFC类中同名的方法区别.
MFC中的类可以分成从CObject继承下来和没有从CObject继承下来的两种(如上图所示).WIN32 API SDK编程的逻辑结构非常清晰简单,学习MFC编程的时候,实际上我们要做很大一部分的努力就是学习了解,MFC怎样将SDK编程方式改造成了MFC编程方式.
学习VC中的MFC编程很常见的问题是,我们中很多人只是直接使用MFC类库构建自己的程序,而对MFC本身的内部结构不了解,或者是抱着一本"VC速成"一类的书,照着书上做.最后的结果是,把书一丢掉就什么都不会了,或者是书上没有讲该怎么做的自己就也不会做.这就是由于不了解MFC内部机制的通病,要学习好MFC编程一定要学习MFC内部结构是怎么做的.幸好,VC在提供MFC类库的时候,也提供了相当一部分(另外有一部分是做成了DLL)是提供MFC源代码的,我们可以阅读MFC代码,了解到MFC结构.
我们在以后的文章中慢慢一步步在MFC源代码中,由简单到复杂,慢慢提高.
 
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:92735次
    • 积分:1122
    • 等级:
    • 排名:千里之外
    • 原创:29篇
    • 转载:0篇
    • 译文:1篇
    • 评论:88条
    最新评论