如何学好VC和MFC(各前辈学习方法及感受整理)(一)

序:

近来,在论坛上面几乎每天都可以看到很多的人提出如何学习MFC,学习MFC的确不是一件很容易的事情,加上成千上万的API函数和微软的一些资料的保留,学习MFC就变得更难了。不过我认为难在入门,入门后就慢慢觉得得心应手了。下面是一些先辈们学习过程中总结出来的方法及学习感受,今天把它们整理出来,供大家参考。

正文:

我记得我在网上是这么说的:先学win32的SDK,也就是API, 再学MFC,这么一来呢,就先有个基础,MFC是API的封装, 如果API用的熟了,MFC上手就轻松的多了。

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

这是昨天一个网友提出和你同样的问题。我这样说的。你说推荐的书籍呢,那倒真是有不少好书非常值得看看,学习c++的有《c++编程思想》,学习api就是win32程序员参考手册,一般叫sdk。学mfc呢,那就更多了,书店里的不少书都可以拿来看看,看的多了,自己也就知道什么样的书最适合自己,不同时期欣赏的口味都不同的。比如说刚开始,就特别想找vc如何使用的书,刚接触win32编程就想如果能有手把手那样的教就好了。这些书都有的。我的习惯就是,多看书,然后才有鉴别,知道什么样的书算是经典,什么样的书尽管没多大用,但是对特定的人,特定的时期,特别有用。
买更多的书,看更多的书
其中《Visual c++ 技术内幕》和《深入浅出MFC》不可不买
中国人学不好VC的原因很简单:英语非常差,不会看英文版的MSDN/CD,大学里的教育全是垃圾,设备又差,许多学VC的家伙不懂MASM,连WINDOWS Message cycle system 都不了解,学什么学???不过不要紧!据我所知,全球使用C++的人不过30万,且多数是用BCB(用控件来写容易啊!!!???)要知道,根据MS的资料,它出的书最High class 的一类只不过卖出20万左右,(ps:I forgot bookname!!!)要想学好VC,先学好英文,再去
Codeguru.com之类的网站D/L source code !不要买国人自己编写的书(翻译的除外)最好是MS出的书,既然是用MS的工具,这是当然的,还要定期买MSDN/CD,MS的人开发人员每人一套!!!!要谈的太多了,一句话:
学好VC=英文好+基本功好+勤奋+聪明.少一不成的啊!!!!
我觉得初学者先不要看MFC,API,Windows编程之类的东西,最重要的是先弄懂什么是面向对象,什么是类,要是弄不懂类拿学起来就真的累了!
1.先找一些傻瓜书,一步一步教你,CLASSWIZED,单击,双击,右键...,...加入函数代码....编译,运行...(真正的傻瓜!)
2,分析代码,头文件,消息宏等,找来书慢慢研究吧.哦,这函数有这些参量.....哇,老兄,WINMAIN()是做什么的???????指针,类,继承,重栽,折构......
3.书书....<>,95元,<<深入C++类库编程...>>,SAME图书,什么,105元... 清华,希望,机械,电子,什么出版社......

说起来我学VC也有些年头了,想当年玩了3年游戏却在大四为了毕业设计开始接触Windows编程。没办法,天生的手短心长,导师原来要我用DOS环境的。偏偏一开始有抱的是MFC,有一点C++基础的我看得是两眼发黑。当然,设计是泡汤了,还好导师放我一马。
工作以后才切身感受到,学Windows编程是要从API,从SDK玩起的。这还是我当年去一家台湾游戏公司面试的惨痛教训。我那个时候因为默不出一个完整的WinMain()和WindowProc(...) Windows SDK程序架构惨遭淘汰(其实现在大多的Windows游戏还是用SDK的)。
在我看来,写Windows程序的人对API不了解是不可想象的。我现在还没有用VC编出一个我自己认为象样的东西来,但我还是坚持用我的业余时间去和她增进感情,也许,这是一个技术人的老毛病吧。刨根问底,对Windows也不放过。
还有,就我觉得,语言这个东西其实就象老妈厨房里的各种菜刀,各有千秋的。人天生的对东西会产生偏好,但拿水果刀切菜和拿大菜刀削水果是一样吃力的。我以前也认为天下有了VC就已足够,可现在两样。
有人说过,存在的就是合理的......
各位友人,我觉得学VC,熟悉C++的面向对象与WINDOWS编程技术是必要的.另外多看看别人的源代码,弄清程式所来龙去脉也,弄清程式的运行机制格外重要.至于你不太熟悉API,我看这并不重要,因为这么多API,试问谁能记这么多,不知道的查MSDN.初学者切莫心浮气燥,循序渐进,相信他日
你也是VC"高手".
不过,想精通VC还没有这么简单,我以什么VC,VB,BCB...
只不过编码工具,大家不必拘于此.VC确实是一把好剑,像独
孤九剑也是一把剑,但没有一点内功,这把好剑不是那么好用的.
我觉得学任何语言都无所谓,关键是要掌握程序设计的核心——算法和数据结构。各种语言和开发工具就好比各门各派的武功招式,而算法和数据结构则好比内功心法和武学原理,内功高强了,任何招式到了手上都能化腐朽为神奇,掌握了武学原理,则能无招胜有招。所以,建议大家多花点时间学习基本功,一味地追求各种开发工具的开发技巧是没有意义的。因为各种开发工具会不断地更新,比如今天你在学C++,明天微软搞了个C#,你又得跟着学C#。但是如果基本功扎实,掌握了程序设计的核心思想,不论什么语言都可以很快上手,无论何种开发工具学起来都事倍功半。我并不是否认学习各种语言和开发工具的必要性,只是要提醒各位初学者,学会C++语言或学会用VC编程并不等于学会了编程!编程的关键还在于数学模型的建立,数据结构的选择和算法的设计!
内功=算法+数据结构+编译原理+*作系统原理+软件工程+英文
你到 http://www.csdn.net/ /;;看看,可以找到《深入浅出MFC》2e电子版下载!
有一本书很好《WIN32程序员参考大全》即可了解WIN C SDK,又可以了解WINDOWS,一举两得。就是有好几本。可以到VC知识库网站的电子图书栏目下载。
我认为需要三本书,
1 <> 美 Jeffrey Richter.清华大学出版 99元
2 <> 美 Charles Petzold 北京大学出版 160元
3 <> 美 Jeff Prosise 是英文版的 北京大学出版 198元
还有更好的选择吗?我不相信!

我学vc也半年了,c和c++的功底不错,对vc感觉还可 以。我认为学vc也有些技巧,可以事半功倍。 vc的书要跳着看,先把api,windows运行的概念看懂, 再看mfc其实只要你c++学的好,mfc几乎没多少可看的, 就是一些功能的封装。vc其试只是工具,精华都在windows
程序的流程上。 掌握好概念后,就是狂背各种api函数和mfc封装的 成员函数。 最后就是研究mfc代码和其它原代码。

我学vc已有些时间了。但总有的地方不清楚。到网上去问“高手”,老被骂的狗血碰头,到头来,还是一头雾水。后来买到一本好书,
The MFC Answer Book, Solutions for Effective Visual C++ Applications
Author: Eugene Kain
Published by Addision-Wesley
个人认为学习VC的前提是C++,特别是虚函数、派生、和指针,余皆不足虑也。 vc 的瓶颈就在于各种api和mfc封装的函数调用。例如你知到 ddx在update()运行时默认凋用dodatachange(),等等一些函数刁用。vc顺脆是小菜。 vc本身就是傻瓜工具,微软开发vc原意就是要缩短 程序员培循时间。可国内有人据燃要用几年时间来学,真是太可怕了,太可悲了。学会了只能在windows平台上开发,那末你那有时间去学其他平台的程序开发。
vc只是工具,关件在学windows*作系同,windows 通了,vc最多半年。 劝大家一句,不要在看身末“深入浅出”之内的 书了,去找一本专门讲vc库函数的书看,这才是精通之道。
住:以上经验只试用于,具有很强c/c++遍程能力者。

我觉得学vc要先从c,c++学起,然后是api和mfc(英语很重要,不过不用怕,用金山词霸边查边学,等你vc入门后,你的英语阅读能力也会上一个台阶);
另外我要的经验是学的时候不要钻牛角尖,学语言关键是
学语法和概念(继承,重载,多态性...),其次才是某某函数怎么用之类的东西.
(学windows编程一定要掌握消息机制)
要想学懂VC必须:
1、找几本好书:《window程序设计》只看前几章,看懂
windows的消息机制,Api的结构;
《mfc深入浅出》全面学习,深刻理解mfc的结构
2、编一个较大型的项目,不停的使用VC,边用边理解看
过的东西;
3、经常看优秀的源程序。
我本来无资格发言的,因为我也是一个多月前才决定学VC的。我总结一下以上n位的发言(随便练练指法):
1.在学vc之前最好能有点其他语言的基础.(没有也没多大关系)
2.学c++之前不必学c.(当然会c会快点)
3.c++的一些概念很重要(如:对象,类,构造、析构函数,继承,模板等),最好弄透(怎么弄透,谁告诉我?)好书推荐:<>(<>screen.width-300)this.width=screen.width-300'>39.00元,适合对c++较熟悉的人.(有没有适合白痴级的好书,让我弄透以上重要概念,麻烦介绍一下)
4.API---->MFC.好书推荐:
(1)<<深入浅出MFC>>(<>screen.width-300)this.width=screen.width-300'>80.00元,701页.电子书下载:www.csdn.net(不过是繁体版的,有些术语和大陆不同).购买:www.huachu.com.cn. http://www.beijingbook.com/, 人民时空.(第一家最便宜)
(2)<>(<>screen.width-300)this.width=screen.width-300'>96.00元,900多页.最好买第四版的(清华出版,潘爱民翻译),电子书下载:至今也没找到(只有第五版,English的),一些网站上说的好听其实都是些原代码(害我下了100多兆的原代码,这些人建网站干吗,吃饱了撑地,这里copy一些,那里copy一些不看一下就上传,有什么意思) .购买同上.
(3)<>(<>screen.width-300)this.width=screen.width-300'>(第五版,以前的版本叫<>我没找到电子书(http://www.ssreader.com/好像有)和购买网站)160.00元,1346页 电子书下载:至今也没找到(只有第五版,English的), .购买同上.
以上的书有人看懂了,说好
有人没看懂,烦恼
fang说:什么样的书尽管没多大用,但是对特定的人,特定的时期,特别有用
我说:尽信书不如无书
5.边学边练,多看MSDN,英语不好的人,会费尽一些(我算是完了,真的很傻,以前马老师对我不错,想起来真对不起他(对不起的是你自己))
学习VC,MSDN既重要也不重要,关键是先后问题。建议你先看 侯俊杰的《深入浅出MFC》,买不到的话可以到我的主页的电子书下载理去下载。要是你是成都的话就比较幸运些,成都有这本书卖哟!!!相信看过这本书后,你就知道该怎么学VC了。MSDN在电脑城去买,4元一张。一共3张(新版,老版2张)。
好了,先把上面做了!快行动哟!!!
我是一个大一的学生,读计算机的。我对编程很感兴趣,我以为可以在学校学到好东西,于是就慢慢来学,现在差不多有一年了,谁知连个屁也没学到。直到我来到这,被大家的热情感动了。我决定自学。后来我听说有些大学生能通过高程。于是我就买了[离散数学],[C程序设计],[计算机英语]学起来.听说还要学[数据结构],[*作系统],[编译原理].请问要学完这些要多少时间?先声明我是一个菜鸟.还有应该先学哪些?我正在为此奋斗,希望大家指点小弟一下.
学VC我认为有益下要点; 1.要对win95*作系统的特点了解。如:多任务,消息映射等。 2.面向对象的设计特点,即类,需要学好C++。 3.对MFC也要有一定的认识。 4.真对一实际问题深入编程,不投机取巧,老实下功。
过去我在VC上下过很大的功夫,光MFC,WIN32API手册就看过很多遍。我认为学好VC的关键在于对Windows 系统的了解,如果连某个动作对应的消息都不知道,又如何处理它了。

(未完待续)

时间: 2024-11-05 22:38:51

如何学好VC和MFC(各前辈学习方法及感受整理)(一)的相关文章

如何学好VC和MFC(各前辈学习方法及感受整理)(三)

如何学习vc++(vc的用处) 1 vc的用处我感觉下面一些领域比较适合于用vc: 操作系统编程,game,图形设计,corba编程,com编程,网络编程.我谈谈我的体会.我现在在深圳的一家公司从事IP电话网关的开发.通过这个项目,我 才真正体会到VC有多么强大,上百个线程同时工作,数据库并发访问,而且全部软件基 于COM构造,这样高性能的大型软件,只有VC方显出其英雄本色!不过,在国内,有机会 接触这样的大型系统软件的不多.而在做大型系统软件时,对VC程序员的要求就不仅仅 是熟悉VC.MFC本

如何学好VC和MFC(各前辈学习方法及感受整理)(四)

学好VC++的十大良好习惯 每到年底各大媒体就争先恐后热火朝天地搞总结,什么十大人物,十大品牌,十大美女,十大帅哥等等五花八门乱七八糟的让人充满好奇充满怀疑,这事确实让人有点郁闷,就如同男足国家队的国产教练如沈墙扶们每一次踢球失败后都要说这么一句:我们回去后要好好总结,下次会打得更好! 这话听了几十年了,耳朵都生虫了,但还是无法看到中国猪球队有象人样的表现.因此,总结在某一程度上来说只不过是一种形式罢了,总结不代表就能改过原有的不足,也不代表就能进步了,甚至有点俗不可耐,尽管如此,阿蒙亦明知故俗

如何学好VC和MFC(各前辈学习方法及感受整理)(二)

接上篇) VC 进阶:1. C 语言:2. C++ ,OOP:3. Windows 运作机理,SDK编程:4. MFC类库,应用程序框架编程:5. ActiveX,ATL,COM--每步骤通常需要6个月,最快也得3个月,诸位同意否? 学 VC 或 windows 编程分三 STEP:1. 只 SDK 提供的 Function 作开发,不要Object, 你会知 How to handle Message. 2. MFC 编程, 用 CEdit 等开发.3. 再用 VC如果你有一个别人的好程序,

如何学好VC和MFC(各前辈学习方法及感受整理)(五)

如何成为一名优秀的程序员? 一位仁兄说的"程序员写的程序不是算法+语法 ,而是要能够满足用户需求的工 具"我非常赞同,要想达到用户需求就必须从各个方面来考虑如业务.人机交互 .效率等方面,而不只是一个语言(语法)的问题,语言(语法)只是工具,只 知语法不知其他那就真是编程机器了! 编程机器在印度高中生经过几个月培训,按照严谨的软工方法,加上较高的管理 ,就可以胜任了!大家相信吗,我是相信的!谈到这里我就不禁说到了国内教育 界最近在探讨的问题"计算机科系的毕业生特别是本科大专生

vc++在MFC对话框上用程序生成控件(比如Text和Edit控件),求如何实现?

问题描述 vc++在MFC对话框上用程序生成控件(比如Text和Edit控件),求如何实现? vc++我想在MFC对话框上用程序生成控件(比如Text和Edit控件),求如何实现?(不是用工具条拖动控件到对话框上) 1.用程序生成控件2.控件在对话框上准确定位 求大神指导下 解决方案 一个 CreateWindow() 就能搞定,例子很多,自己找. 解决方案二: MFC我没有研究过,但我想MFC中应该可以调用Win32API吧,可以看看这几个,虽然不是MFC,但是在MFC里想必是可以用的.htt

编译-有关vc++中mfc问题,怎样打开一个已经创建的文件夹

问题描述 有关vc++中mfc问题,怎样打开一个已经创建的文件夹 我用CV 新建工程并且保存后,在打开以后就不能编译了,我不知道打开哪个文件才是正确的.好像所有的类.".h"文件和所有的东西都不能连接上了.........我似乎不会打开文件....谁能指教? 例如: 建立一个MFC的exe工程起名为"123"并指定目录,然后根据向导选择一个单"窗口文档"然后"完成".等自动生成后,保存全部并关闭VC++6.0. 然后打开VC+

做一个简单的VC++的mfc单文档应用程序

问题描述 做一个简单的VC++的mfc单文档应用程序 帮忙做一个基于VC++6.0的mfc单文档应用程序(绘图),有菜单栏工具栏和快捷菜单,用到分割窗口,组合框,文档序列化 解决方案 google Scribble 示例:MDI 绘图应用程序 解决方案二: 就你的需求,不要写一行程序,用向导生成,勾选切分视图和从CFormView继承,放上组合框就好了.文档序列化是默认支持的. 解决方案三: 解决方案四: 如果你要画图,可以直接下载msdn里面切分视图画图的那个例子,然后加上一个controlb

vc++-关于VC++非MFC的编辑框问题

问题描述 关于VC++非MFC的编辑框问题 我用API创建了一个窗口后,按enter弹出了非模式对话框后.光标定在对话框里的编辑框里.这时我移动不了窗口,是怎么回事.然后我想再按enter结束对话框.问此时收到的消息是属于对话框还是窗口或是编辑框里.用什么函数判断在对话框键入的字.

接触VC之三:MFC基于对话框程序

最近,本人赶时髦,装上了一套Visual Studio.net,安装要2213M呢,硬盘上三个盘符总共剩下不足2G的地方了.不过,界面相当的漂亮,且功能强大,值得心慰.我终于可以在类视图上,尽情去看类的基类,以及基类的实现代码了.不仅如此,最好的是那附带的MSDN上所有的VC基础文章都是中文,翻译的比希望出版社的好得没的说.什么文档啊,框加窗口啊,多视图啊,应有尽有.所以建议大家都来用.net的吧,注意是要那七张盘的,三张的是beta版,VC功能不全的. 这部分该说一说MFC的具体程序了.因为我