プロジェクトに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に対しても同じことをしました。
コントロール内にマウスの左ボタンを置いたままにすると、メソッドgetハンドルが実行され、すべてが正常に機能します。この問題は、マウストラッカーがCRectTrackerオブジェクト上にあるときにマウスの左ボタンを離すと発生します。この場合、マウスのLButtonUpメッセージは処理されません。
Spy ++を使用しようとしましたが、WindowsメッセージWM_LButtonUpが存在し、期待どおりに表示されることがわかります。しかし、それは私のコードであり、処理されません(CRectTracker上のマウスの場合のみ)。
マウスがCRectTracker上にあるときにマウスボタンを押しても、LButtonDownイベントは常に正常に処理されます。
LButtonUpメッセージの何が問題になる可能性がありますか?
ありがとう