开学第8周周四之前开始正式学习VC,具体时间已经记不清了,反正是在第一次“用户界面设计”实验之前,因为那节课我看《VC++6.0技术内幕》,那时看了四、五章吧。所以学VC的准确时间可能在第8周的周一或第7周的周末——实在没印象了。
现在是第十周的周日,明天就是第十一周。也就是说学VC已经学了三个礼拜。 想想这么久究竟学了些什么,现在来回顾一下。
在学VC之前花了一两个月学习C++语言,看的是《Thinking in C++》英文版,已看完了上篇,除了后几章习题没做。因为要做“用户界面设计”实验,打算用VC++做(瞧不起Delphi~~)而且还要应付VC考试,于是先放下了C++纯语言的学习,开始学VC。那时的打算是先中断一下,等学到一定程度的时候回来把C++完成。
第一本VC书是《VC++6.0技术内幕》,看到对话框(第六章)的时候感觉很压抑,这本书就告诉你怎么做,而不给出原因,对于我这种Windows编程的菜鸟来说很不爽。幸好那时在我们寝室被我卷起了一股学VC的浪潮,大家都学VC++,室友有几本书——《深入浅出MFC》、《深入理解VC++6.0》,我看了一下还是很不错的,对于一个初学者来说。
于是我连续几天就抱着一本《深入浅出MFC》,了解了Windows消息机制的一些基础,把第三章的MFC技术模拟都用自己的理解实现了(我之前已经掌握了C++语言的一般基础)。但看到第八章“视图文档结构”的时候,看不下去了,特别是看到画图什么的。我那时掌握的都是理论:运行类识别、动态创建、消息映射等等,只会一些简单的VC操作。于是我决定补补实际操作的能力,开始学《深入理解VC++6.0》。
这本书手把手地教你怎么样画个圆,怎么样写字什么什么的。我一直看到Internet编程之前的那章,因为我想把网络编程滞后一些再学。《深入理解VC++6.0》我是跟着书把之前的视图操作实现,但文件、注册表只是一眼代过,看了之后并没有在机器上实现。因为我想留到以后再说。
我用转到了《VC++6.0技术内幕》了,把前几章重温了一下,因为已经能简单地进行视图类的操作,感觉都没问题了,于是接着看新的,花了两三天时间把对话框、普通控件、非模态对话框。但第七章的“嵌套对话框”没搞懂,那个分组框的ID不知道是个什么东西。我就想跳过吧,以后再说,但下章是ActiveX控件,看它的章前介绍有点不知所云,耐着性子看了一页多,终于受不了了,郁闷了。当时的感觉就是“难”,“VC太难了”,都想放弃了,不过我不会轻易放弃的。我打算去图书馆借几本书作一下参考,去之前在网上找了下“VC能做什么”,结果搜到一个人的日志,他也说因为Windows的API函数众多等原因放弃了两次,最后终于在四个月内入门了。我也不管他是否是个强人,毕竟我不是唯一一个想放弃的,我更加决定坚持下去了。
我去图书馆了,之前确实找了几本书想带回去,但最后还是把它们放回原处。我感觉我卡壳不是书的问题,是我人的问题。看不懂的地方应该一直啃,直到啃化它为止,毕竟那些基础的基础我已经掌握了。现在入门级的书对我一点用都没有,而稍深一点我又感觉吃力,夹在这个之间感觉好痛苦。但我知道,每当我处于一个迷茫期,只要重新找到方向,那就是一个进步。
于是回来打算继续啃《VC++6.0技术内幕》,但还是决定把《深入浅出MFC》看完。其实去图书馆就是前天(星期五),昨天和前天基本没有看书,都上QQ了,于是昨天晚上决定在QQ上消失一段时间(我开学就一直没上Q)。昨晚由于睡不着(其实每天晚上都睡不着)在一点钟本本没电后,就打开应急灯看那个《深入浅出MFC》,继续上次的进程——视图文档结构。一直看到三点多,还看了一些消息机制的。
今天10点起床后,就把Serialize实现了,只是简单的把一个类写入文件里。因为之前自己动手把消息机制模拟了,那些东西理解很透彻,所以看消息映射时没仔细看。而后的对话框也只是一眼略过。之后实现了一个框架窗口,没有实现之后的“多窗口视图”。打印那章基本被我完全略掉了。因为我打算往“网络安全”方向发展,那些东西等以后真需要时再说吧。然后就是多线程,也是随便看看,原来学《操作系统》的时候线程这东西已经了解了一些。ApplicationWizard也没太屌它,也抱着以后再说的态度,最后一章“ActiveX”也随便看了一下,跟着操作了一两下。我已经把重点放到了《技术内幕》那本书了——那是借口,可以略过其它书的借口,但以后应该就没有借口了。
我现在学到了什么?视图的一些GDI绘图,序列化,消息处理。细想一下学的东西好少。我只想快点入门VC,之后就能把C++补上,那时就可以正式地进入网络编程的领域了,而我可以用VC这个工具。
我总是跟自己说“坚持下去”,因为我这人最缺的就是恒心了,其次是耐心。但时间有限,我下个学期就要找实习单位,我要找个好地方。心急是难免的。我再给自己两个月时间,在元旦之前,入门VC++。而我入门的标准就是《技术内幕》能吃透。说不定一个半月就够了,只要中间不间断。
我还有两本书:《Visual C++ 6.0 MFC类库参考手册》(当做字典用)、《精通MFC》(暂时还感觉看不下去),以后再说吧。
坚持下去!!
评论