C++博客 联系 聚合 管理  

Blog Stats

文章分类(17)

收藏夹(2)

文章档案(18)

相册

Blogs

citywanderer

记得当初看侯先生的《深入浅出MFC》的时候,我是有一定的C++基础的,之前《windows程序设计》也看过大部分,但是对MFC还是看得非懂似懂。最主要的原因我想是理论并没有同实际结合,只是看书,自己并没有实际的去编示例程序,结果就是对书中所讲的没有主观的认识,印象也就不深刻了。
我本人在学校在公司一直做.net的项目,前段时间在外面接了一个网络监控的项目,也就是基于Winpcap的程序,这样促使我使用VC++。当熟悉了Winpcap之后,我发现我必须要深入MFC了。
虽然网络上存在很多的MFC入门之内的教程,但是我觉得每个人的基础不一样所掌握的知识也不一样,这就注定每个人学习MFC的过程是不尽相同。在介绍我学习MFC之前,我觉得我有必要提一下我具备的基础以及相应的学习过程:
1、C++基础知识。去年的时候,从公司回到家(租的地方)就呆在房间没有事情干了,就向室友借了一本机械出版社的《C++程序设计》,因为之前就有C++基础,这个只不过是温习一下,不到半个月就把那本书翻了一遍,书中的练习也作了一些(呵呵,还好那个时候工作不是很忙)。接着就一发不可收拾了,有很长一段时间我都在CSDN的C/C++板块混,尝试着回答别人的帖子,遇到自己不明白的或者是模糊的,我会在网上找资料,查看《C++Primer》,直到这个知识点搞懂为止。期间看了《高质量C++编程指南》、《C++Primer》,对内存分配、指针、数组、复杂的变量声明、结构体的对齐方式、参数传递、虚拟函数等都有了较深刻的认识(见我的msnBlog:http://citywanderer.spaces.msn.com)。
2、英语基础。在这里为什么要提英语呢,因为我们必须要查msdn、要在google中搜索源代码。我是属于哑巴英语的那种,但由于是在公司的欧美部门,项目相关的文档都是英文,所以阅读英文资料是没有什么问题的。
3、Windows程序设计基础。MFC只是一个封装体,它的本质还是windows程序,所以了解windows程序设计的基础是必须的。在网上下载一个简单的windows程序的源代码(详见我的《解析windows程序》),  只要有一个msdn,加上你的C语言基础(对,这里并不要C++的知识),用个几天的时间搞懂这个windows程序(包括消息机制、类型,各种结构体……)就OK了。(附加API函数实现的源文件目录:\Microsoft Visual Studio 8\VC\atlmfc\src\)
4、深入浅出MFC。大家可以看看一位大虾写的MFC入门教程(http://www.vchelp.net/itbookreview/view_paper.asp?paper_id=1339),把它过一遍,对MFC有一个直观的认识。OK,看完这个教程之后,你应该明白了MFC的基本框架,等等,这该死的宏DECLARE_MESSAGE_MAP()、BEGIN_MESSAGE_MAP(class,baseclass)……是什么意思啊,要明白它,其实很简单,只有把这些宏全部展开了,详见我的文章《解剖MFC消息宏定义 》,好了如果这个时候你能将MFC中的类、方法对应到Windows的简单程序中去的话,这说明你对MFC的理解已经是差不多了。
再后来,当然你要清楚windows的各种消息了,用classWizard、EventWizard添加类和控件的事件,看MFC帮你添加了哪些东西,删除它们,自己手动添加,如果效果和MFC做的一样,那就恭喜你了(我们要知道这种wizard只是帮助我们减少开发时间的工具而已,我们只有明白了它们的本质,才能理直气壮地用它们,不然,你肯定会心虚的!)
再后来……哪里有这么多再后来!我也是才学到这里而已啦。

希望能给各位初学MFC的看官一点帮助,我可能有些地方漏掉了,大家也可以回帖询问,我必定知而必言。

posted on 2006-06-18 11:47 citywanderer 阅读(585) 评论(1)  编辑 收藏 引用 所属分类: C++

评论

# re: 我的深入浅出MFC之路 2008-07-07 18:02 老郭
^_^正在深入浅出mfc中,还没达到 你说的高度,向你学习。  回复  更多评论
  


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理