无情散分 - 总想做一些别人难以做到的事情,结果发现自己也做不到……
心情不是太爽,散分权当散心。
一个问题搞了一周没搞定,确实有点胸闷,记得上次花一周搞定的问题还是在移植V8引擎的时候,好歹那只是BUG,不是设计问题,现在的问题可是没有明确的解决思路。也许钢琴练得太少了,大脑CPU处于单核高占用模式,有点吃不消了。无奈之下暂停工作,到坛子散散分吧,顺便找找更多的灵感。
一路走过来,越过了很多的高山河流,看似一马平川,一帆风顺,居然被一个小沟壑挡住去路,跨不过去。本以为这个沟壑很窄(确实也不宽),很容易跨过去,结果总差那么一点点,试了十余套方案,居然无一成功,看来大脑CPU有点过时了。
好吧,抖抖底,亮出我的白内障:在某些特定条件下,CallWindowProc函数居然不调用指定的窗口过程。
这些特定条件是:
1、仅VISTA和WIN7平台上
2、开启了AERO效果
3、控件的顶级父窗口是分层窗口(LayeredWindow)
4、需要控件处理 WM_PAINT 或 WM_PRINTCLIENT消息
5、使用CallWindowProc调用控件的原始窗口过程
就这么简单的问题让我无比头大,我的目的是要让控件处理 WM_PAINT 消息,可惜连它的窗口过程函数都进不去……
所以,毫无道理地散分……,但你们要有道理的接分……