有一次,一位新兵(我对大学刚毕业的程序员的统称)拿了一本关于vc的大厚书来找我,让我看看这本书适不适合新手学习.我看了看目录,觉得那本书的内容是又全又杂,于是说不适合,当本参考书还可以.那位新兵露出很心疼的样子,呵呵,那本书好像很贵的样子.他问我,那应该看什么书呀,怎么学呀.我说先不用看什么书,在msdn里找到关于windows消息处理机制的内容,然后用纯c语言写几个程序,msdn里的例子很多的;然后,在msdn里找mfc的消息映射相关的内容,多写一些自定义消息,对消息映射的宏最好都用一遍.剩下的就是把mfc里的类树仔细分析分析,多总结总结共性与个性.那位新兵露出很为难的表情,看来是认为这样很麻烦.当时,我心里想:我老人家写了这么多年vc还经常掉到沟里,学东西知其然不知所其以然,还不如不学,怕麻烦干吗要学vc哪?当然这些话没敢说出来.当年,就是因为自己心直口快,真是得罪人无数呀! 【程序编程相关:SCCS Chapter 3】
【推荐阅读:SCCS Chapter 5】
【扩展信息:SCCS Chapter 2】 ok,言归正传.ileregisterobject只是解决了注册问题,现在应该扩展3d相关接口了.ilebaseobject解决3d对象的位置问题,也就是“世界坐标问题”.ileobject解决实体对象的尺寸调整问题.levartype是为了以后可能修改坐标变量类型而作的伏笔,一个long类型足可以放的下一个fix-int类型.当然了,所有于levartype相关的数值运算都需要用宏替代. interface ilebaseobject : idispatch { [propget, id(1), helpstring("property x")] hresult x([out, retval] levartype *pval); [propput, id(1), helpstring("property x")] hresult x([in] levartype newval); [propget, id(2), helpstring("property y")] hresult y([out, retval] levartype *pval); ... 下一页