我的项目中有一个 COleControl 对象。在这个 COleControl 中,我有一个 CRectTracker 对象。
我想处理 WM_LButtonUp 的 windows 消息(事件)。(当用户停止按下鼠标左键时)。
在我的 .h 文件中,我写道:
afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
在我的 .cpp 文件中,在
BEGIN_MESSAGE_MAP(CMyControl, COleControl)
我添加了
ON_WM_LBUTTONUP()
然后我开发了一个方法
void CMyControl::OnLButtonUp(UINT nFlags, CPoint point)
我对 Windows 消息 LButtonDown 做了同样的事情。
当我将鼠标左键留在我的控件中时,方法获取句柄并且一切正常。当鼠标跟踪器位于 CRectTracker 对象上时,我离开鼠标左键时会出现问题。在这种情况下,不会处理鼠标 LButtonUp 消息。
我尝试使用 Spy++,我可以看到 Windows 消息 WM_LButtonUp 存在并且按预期发生。但它是我的代码,它没有得到处理(仅在 CRectTracker 上的鼠标的情况下)。
LButtonDown 事件始终得到成功处理,即使我在鼠标位于 CRectTracker 上时按下鼠标按钮也是如此。
LButtonUp 消息可能有什么问题?
谢谢