• ベストアンサー

ダイアログのコントロールじゃない場所のクリックを検出したい。

VC++6.0、Win32 APIでダイアログボックスを作っています。 ダイアログボックス上のラジオボタンでもリストビューでもエディットボックスでもなくて、 何にもないところをクリックしたときに、そのクリックを検出することはできますか。 教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • Oh-Orange
  • ベストアンサー率63% (854/1345)
回答No.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→『非クライアントエリアのマウスメッセージ』 ・以上。

kenkenpo
質問者

お礼

私が考えているのと、非クライアントエリアは別のようです。 ありがとうございました。

関連するQ&A