在一个自定义控件的OnLbuttonDown事件中调用SetCapture()来跟踪之后的鼠标事件,同时用PostMessage通知某个窗口,告诉它该自定义控件有鼠标按下事件.正常情况下,在该自定义控件的OnLbuttonUp事件中调用ReleaseCapture()来释放鼠标事件捕获.
问题是在调用PostMessage的时候,目标窗口收到消息后可能会弹出模式对话框(比如颜色窗口).这就会出现如下问题,即模式对话框被关闭后,无论在何处按下鼠标左键,都会把OnLbuttondown事件发给我的自定义控件(因为没有机会调用ReleaseCapture() )
所以有没有办法可以让我的自定义控件检测到有模式窗口弹出呢,我就可以调用ReleaseCapture()来析放capture了.
用onkillfocus没有作用啊.有别的方法吗?