郁闷,但还好

 今天下午气伤我了,这微软的VC怎么就不能学学SUN公司的java,自由度高些呢!! 

 原本打算自己实现下MFC的框架,但是很多东西都受限制,不得不放弃。。。。

 首先是 Winmain函数,其次,向mainframe类进军。但是问题就在这里出来了,本想写个CFrmaeWnd的子类, 所以include"afxwin.h",它包含了CFrmaeWnd类的定义。

  但是编译出错了,原因是不能重复包含"window.h",看下Stdafx.h,它也包含了window.h头文件。那我就打消写子类的念头,删了:public CframeWnd,但是问题又出来了-----已定义好的宏(用作定义消息响应函数的原型)又识别不了了,这我就没辙了,弄了我一下午,真郁闷!!!

 

吃饭时仔细想了遍,这就是编译时将同一个cpp文件多编译遍,立马就清醒过来:用ifndef....define.....endif 预编译就能解决。饭后,立马回研究生院,将类分成了两个文件(.cpp和.h),在头文件上进行预处理后,在主文件中包含.h后就大功告成了。

但是新的问题出来了,在createWindow时老是弹出异常,仔细检查后发现是wndclass中的hicon赋值错了,将不存在的icon资源的ID送了进去。最后一切都好了....

但是唯一遗憾的是没有在自己的MFC中实现微软MFC中的消息映射,要继续努力!

 

打开预置的HelloWorld WIN32程序可以发现,对菜单项wm_command消息的响应还是通过窗口过程 switch..case来处理,这方面确实比JAVA麻烦多了.....微软以前真小气!

你可能感兴趣的:(java,command,mfc,sun,include,微软)