因为项目需求,我开始应用MFC写程序。具体接触MFC的时间大概也有两个月了。现在的水平算是刚刚踏入了MFC大门的半只脚。目前能基本使用MFC Class Wizard,可以根据实例仿照完成需求,小范围的灵活运用。但是,对于庞大啊MFC来说,我窥探的只是冰山一角。它的消息映射机制,许多类的用法等等还只是一知半解。
刚接触MFC时,发现这简直使用一个庞然大物,完全不知道从哪里开始下手剖析它。这里推荐孙鑫的20集教学视频和侯捷的《深入浅出MFC》,这两个是入门必备。我个人是直接先看视频。先上链接http://blog.csdn.net/roger_ge/article/category/461259/1,这个是别人整理的视频学习笔记。我认为视频也不必要一次看完,首先看第一课至第三课,大致了解Windows编程、C++特性还有MFC内部结构,这个对于以后的编程是很重要的。视频通过实例演示讲解,每一集都会新建一个工程。视频每一集大概有两个小时,前三课主要在理论,光听的话会很枯燥,如果能坚持看完固然好,看不完也不勉强。这时就可以找一本《深入浅出MFC》来看,视频的前三课内容都在书中的前七章。此本书的优势在于,文笔生动形象,易读性强,看起来不是那么枯燥。当然第一次看绝对很多地方是看不懂的,这个不必太在意,我们只需像看小说的时候过一遍就行了,对那些名词留一个印象,至少今后遇到了应该知道在哪本书里见过。
当把以上任务完成后,我至少知道MFC的全称是什么了。接下来的学习我更推荐看视频,因为视频中孙鑫老师会以一个小型的项目会例子,一步一步的教大家编写程序。这时我们就需要建立一个工程,名字不要和视频中的一样。然后一步一步的跟着视频去编写程序,最后运行。当程序过了编译并且生成了一个界面的时候,我非常开心。虽然我想了想发现代码并不是自己的,而且抄代码都需要教,但是那有怎样呢?毕竟工程名是自己的,还是很开心。我觉得这种开心就是因为兴趣所在吧。如果有时间,大家可以一个一个视频跟着学。对于我来说,我根据需求选择性的学习。当视频看完后,我投入了实战中。但是突然发现,看完了视频要写自己的程序,依然无法下手。这时不应急躁,我继续边看边视频边。第一次看视频是完全的复制,第二次则是根据视频仿造符合自己需求的程序。同时当我们遇到问题时,还可以去网上寻找答案或是发帖求助。比较好的论坛有CSDN和博客园。经过了第二次学习并自己写出了程序,这时是很有成就感的。同时我能大概理解了doc/view,消息映射,虚函数和对话框控件等等的运用,能够基本的使用MFC的操作。
达到这个程度时,接下来的东西就学的比较快了。我们可以接触比较大型一点的工程,接触更多的类。每个类的用法都可以从网络搜索到,有能力的可以直接利用MSDN索引类名。经过对工程的需求的一个一个完成,我们学到的东西会越来越多。在写代码的过程中,我会遇到很多让人绞尽脑汁的BUG,有时调试了很久都无法解决。这时我会去各个论坛发帖求助,上面提到过的论坛有很对大牛存在,也会很热心的解答。我知道我现在遇到的BUG越多,我学到的东西也就会越多。
我主张在学习的过程中去做,边学边做,根据需求去学习,这样我们获得的知识就会更深刻的记住,并且能把知识能运用到实际中去,编程尤其重要。但是光学习写代码而不去思考,不去在遇到问题的时候探索问题出现的原因,而只是在意问题的解决方法时,就会让我们永远不能灵活运用,自由创新的去编写程序,而是一直在重复着前人写过的代码。所以我的学习经验总结成一句话:“多写,多看,多想”。