关于窗体的奇怪问题,正在想...
自己Register的控件(主窗体中的窗体,同样Createwindow创建,不过为了便于理解,就用控件来称呼),自己注册了WndProc过程 ,本来使用一切正常。
一不小心想重画了,鼓捣鼓捣,很容易就搞定。
本以为一切结束了,测试时发现一个问题:
往上拖动控件时一切正常,往下拖动时就拐了---我画了个居中的点,理论上无论怎样拖动都应该在中间,可往下拖动的时候那居中的点也跟着往下移动,除非手动刷新。
纳闷了!检查半天代码,没发现问题!没法,打开Spy来跟踪消息看看,突然发现往下拖动的时候居然没发WM_PAINT消息,我靠!太奇怪了,我重新设置了控件位置,也没屏蔽Redrow啊。
又一阵鼓捣,最后解决方法:把这个控件放到另外一个同样自己注册的控件之后建立就好了。
晕了,为何会如此却没想通,难道Defwindowproc会造成消息错位?本该控件1的消息发到控件2去了!?
研究研究再说吧。。。
发此文纯粹只是为了汗一个 (- -!)

没有评论:
发表评论