- ベストアンサー
ダイアログのコントロールじゃない場所のクリックを検出したい。
VC++6.0、Win32 APIでダイアログボックスを作っています。 ダイアログボックス上のラジオボタンでもリストビューでもエディットボックスでもなくて、 何にもないところをクリックしたときに、そのクリックを検出することはできますか。 教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
★マウスのメッセージを処理すれば良い。 ・クライアント・エリア内でコントロール以外は 左ボタンは『WM_LBUTTONDOWN』、『WM_LBUTTONUP』、『WM_LBUTTONDBLCLK』 右ボタンは『WM_RBUTTONDOWN』、『WM_RBUTTONUP』、『WM_RBUTTONDBLCLK』 中ボタンは『WM_MBUTTONDOWN』、『WM_MBUTTONUP』、『WM_MBUTTONDBLCLK』 ・非クライアント・エリア内でコントロール以外は 左ボタンは『WM_NCLBUTTONDOWN』、『WM_NCLBUTTONUP』、『WM_NCLBUTTONDBLCLK』 右ボタンは『WM_NCRBUTTONDOWN』、『WM_NCRBUTTONUP』、『WM_NCRBUTTONDBLCLK』 中ボタンは『WM_NCMBUTTONDOWN』、『WM_NCMBUTTONUP』、『WM_NCMBUTTONDBLCLK』 ・マウスの移動は 『WM_MOUSEMOVE』、『WM_NCMOUSEMOVE』があります。 参考文献: ・http://www.wisdomsoft.jp/dev/api/windows/038→『マウスメッセージ』 ・http://www.wisdomsoft.jp/dev/api/windows/039→『マウスの移動を処理』 ・http://www.wisdomsoft.jp/dev/api/windows/040→『ダブルクリック』 ・http://www.wisdomsoft.jp/dev/api/windows/041→『非クライアントエリアのマウスメッセージ』 ・以上。
お礼
私が考えているのと、非クライアントエリアは別のようです。 ありがとうございました。