现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

经验分享:如何学好MFC

2012-05-02 19:40 工业·编程 ⁄ 共 2023字 ⁄ 字号 评论 26 条

1、如果你真心想学好Windows,不要心猿意马的话。我觉得只需要一本书,你能把它吃完,MFC神马的一笑而过吧!《Windows程序设计》英文名《Programming Windows》目前第五版珍藏版,清华大学出版社出版,微软5人以上的翻译团队翻译 。。。作者:Charles Petzold。1K+的页数,MFC只是将windows api封装了一下,所以搞定这本书,MFC的一些实现机制你就懂了。

2、扎实学好C/C++,一定搞清WINDOWS的消息机制,MFC尽管很庞大,但抓住其主要框架和特点还是易于学习,所谓抓住框架,就是能较好开发诸如系统底层、通讯、ADO、多线程、多进程、图形图像处理、DLL/LIB。

3、首先必须会c和c++,然后要知道windows API,如果对这些了解不好的话,很难开始的,就像空中花园,各种窗口弄熟悉,知道常用的mfc类,如何封装windows API,一个mfc 程序的生与死流程,消息映射机制,可以看《mfc 深入浅出》《visual c++ mfc 编程实例》,前者有点难,但确实很好,对整个mfc 机制讲的很透彻,后者有很多实例,再去网上找个mfc类库手册碰到不会的类就查查,刚开始很难,随着学习对机制流程慢慢熟悉,对类慢慢熟悉就会好起来。

》》》程序员练级葵花宝典

4、mfc开始就是要从熟悉每个控件的使用开始。

5、第一步,先了解windows的控制台程序,也就是直接用C和windows的API编写的程序,对windows的窗口函数,消息循环等有个了解;
第二步,学习C++语法以及面向对象的编程方法,建议看C++ primer 第五版;
然后,在学习MFC,了解整个framework的结构,强烈建议看看孙鑫的C++视频(主要讲mfc的),我就是之前走了不少弯路,看了孙鑫的C++视频觉得非常好,相见恨晚啊,还有侯捷的深入浅出MFC。

6、买本有实例的书回来看, 第一步,首先会建立MFC应用程序吧,然后根据实例慢慢打,如果简单的实例能自己照书本打运行成功了,那就在打2次,直到不需要看书就能把这个实例打出来,此外还需要自己多多的总结,为什么会用这个语句什么的,还有为什么这个语句写在这个地方。实例练多了,MFC玩久了,自然而然就能领悟到MFC的架构了,那时候做什么都是比较顺手的。

7、首先不能把MFC和C++对立起来了,MFC只是C++的一个部分!学好C++或者学好C++中的MFC编程的最万精油的办法就是多看例题,然后多练习,从易到难!MFC一个很好的地方就是它把函数所共用的函数骨架,一些共用的类都给你自动生成了,因此学习MFC编程的另外一个“捷径”就是你不要过多的去想怎么想那些可以随处copy的类,你要做的就是多去想怎么编写出实际要求或要实现具体功能的那些函数代码,这是编程者必须要做的!其他共用的代码就是不断的被人复制粘贴!

8、如果你有了C++的基础了吧,至少类,虚函数,派生等等之类的C++基本概念你要掌握的,然后你就可以开始学习MFC了。我一开始是从候杰的《深入浅出MFC》开始学习的,感觉还不错,特别是前面的6个仿真MFC的程序,还是很不错的,不过他的书看起来比较的累一点,很多东西看着有点云里雾里的。另外还有一本是《MFC windows 程序设计》也是很不错的,我也看过,可以当作工具书。当然《MFC技术内幕》也挺好的!

9、打下好的C++基础对学习MFC有很大的好处,你要明白,学习编程最主要的是:

》》》如何学好C++语言

    1)学习计算机系统的运行原理。你只有在较为深刻地了解了计算机系统的运行原理,才可能会理解代码为什么要这样写,理解一些低层的错误。在此推荐一本书,《深入了解计算机系统》,不厚,才800多页,两个月读下来应该不成问题。它能让你在程序员的角度上,对计算机有个深刻的了解,很不错。

    2)了解点操作系统的原理对编程也是有好处的。说实话,孙鑫的这个教程对操作系统的底层原理涉及了一点点,但是很不够,你应该了解一下Windows操作系统的底层原理是怎样的,虚拟内存是个什么东西,进程是什么,等等。同样,《深入了解计算机系统》也对操作系统的一般性原理讲了一些,刚刚够,不过建议你读读《深入解析Windows(第四版)》。

    3)当然,学习MFC也许不多需要对API有多了解,但是了解API,对了解MFC的原理也是有好处的,这样你学起MFC就不会常常地一头雾水了。能力够的话,再加上本罗云彬的《Windows环境下32位汇编语言程序设计》,对你了解Windows的原理有很大的好处。

    总得说来,就是:《深入了解计算机系统》、《VC++深入详解》、《Windows环境下32位汇编语言程序设计》、《Windows核心编程》、《深入解析Windows系统(第四版)》这几本书,应该是你学习编程的一个有效的过程。

10、做项目是学习的最好方法,在项目中实践,同时参考别人的优秀代码。拿书本看没什么效果。

目前有 26 条留言    访客:26 条, 博主:0 条

  1. 爱求索 2012年05月02日 10:15 下午  @回复  Δ1楼 回复

    windows程序设计第六版 http://www.charlespetzold.com/blog/2012/02/Programming-Windows-6th-Edition.html

  2. 爱求索 2012年05月02日 11:43 下午  @回复  Δ2楼 回复

    其实windows API编程特别简单。

    你在真正理解了windows的程序结构之后,就是大规模的熟悉SDK的那些API了。

    所谓windows的程序结构,就是如何把各式各样的窗口弄出来,并且控制它的运行。

    而API所涉及的领域各式各样。而且随着微软不断的出新的操作系统,API的功能方面也越来越多。

  3. 爱求索 2012年05月02日 11:44 下午  @回复  Δ3楼 回复

    先从一个简单的Window应用程开始做,然后自己想想要添加实现什么功能,要计算机帮你完成什么样的操作,然后查找这方面的API函数,组织起来实现你的想法,一个函数用多了自然就记得了,就算记不清,也知道有这样一个API函数,用到时再找下,再记下。。。到网上查下WIN32 API,把那堆函数名跟功能作用保存到本地TXT,用记事本查找功能快速找到函数名,复制到MSDN或百度查找详细用法,就KO了

  4. 爱求索 2012年05月02日 11:44 下午  @回复  Δ4楼 回复

    MFC是VC++的一个关键技术,学好了之后对许界面设计就会得心应手,从而可以设计出美观友好的界面!

  5. 爱求索 2012年05月02日 11:47 下午  @回复  Δ5楼 回复

    windows编程,可以泛指编写任何windows下可以运行的程序。用什么都行。只要是windows下能运行的程序就可以。

    API编程,特指使用API编写windows程序。

  6. 爱求索 2012年05月02日 11:47 下午  @回复  Δ6楼 回复

    windows编程只是指的编写能在windows上运行的程序,你可以用vb,vc,delphi等多种语言,而在这些应用程序里面,你可能会用到windows api, 因为windows api是windows提供给开发者用于操作windows的一系列函数。比如说你要创建一个目录,可以用api: CreateDirectory(…), 而其他编程语言只不过将这个api又包装了下,让你更方便使用,开发更简单。

  7. 爱求索 2012年05月02日 11:48 下午  @回复  Δ7楼 回复

    window核心编程(第五版),这个是win32底层api的编程,没有封装过的,不过用起来比较烦,参数很多,又记不住,所以得找一个api参考手册,才能清楚地知道该传递什么样的参数,这种方式是效率非常高的,适合游戏等高效率的编程。当然在底层的api之后,微软推出了MFC(个人推荐孙鑫老师的《vc++深入详解》),封装了底层的api,他把一些不必要的参数在内部帮你传递,使得开发者可以不用传递太多的参数,简单易用,但是带来的负面就是失去了底层api的高效性

  8. 爱求索 2012年05月02日 11:50 下午  @回复  Δ8楼 回复

    《Windows 程序设计(第5版)》
    这是一本最权威的Windows API编程书籍,本书被称为Windows程序设计的“圣经”
    这本是尽人皆知的Win32 API编程经典,也称为“Petzold Book”,学习Win32 API编程的人几乎都从这本书入手。这本书的优点是落墨细致,对基本概念和基本技巧的解释非常详尽,不厌其烦。同时,这本书篇幅虽然不小,但是包容的东西并不多,基本上把重点放在GUI编程上和常规编程任务上,所以能够把很多问题讲得非常透彻。通常第一次阅读这本书,都会觉得作者行文有一些罗嗦。但是日后在开发中,却会发现,这些当时觉得罗嗦的论述,都是实际工作中值得反复查阅咀嚼的宝贵资料。这就是所谓的Petzold风格,既可做tutorial,又可做eference。

  9. 爱求索 2012年05月03日 7:31 上午  @回复  Δ9楼 回复

    我觉得呢,现在不少WINDOWS编程入门的好书很多,多买一些,多看看,多想想。不要心浮气躁。我的经验就是一边看书,一边写程序,看看是不是书上说的那样。看书看明白了不行,自己做对了这个过程体会就不一样了,做的多了,就慢慢会有“悟”的感觉。就入了门了。一般从刚开始学WINDOWS编程(前提是C/C++至少要懂得C的一般常用概念)到基本熟悉,一年时间也差不多,如果在公司里,可能会快一些,主要取决于自己,如果每天都很多时间看书就要快许多。

  10. 爱求索 2012年05月03日 7:40 上午  @回复  Δ10楼 回复

    学习c++的有《c++编程思想》,学习api就是win32程序员参考手册,一般叫sdk。学mfc呢,那就更多了,书店里的不少书都可以拿来看看,看的多了,自己也就知道什么样的书最适合自己,不同时期欣赏的口味都不同的。比如说刚开始,就特别想找vc如何使用的书,刚接触win32编程就想如果能有手把手那样的教就好了。这些书都有的。我的习惯就是,多看书,然后才有鉴别,知道什么样的书算是经典,什么样的书尽管没多大用,但是对特定的人,特定的时期,特别有用。

给我留言

留言无头像?