OS:Windows2000,VC++6.0 (MFCは使用していません)
お世話になってます。
レゴラスです。
表題のとおり、ウィンドウ上に配置されているあるオブジェクト(例えばボタンなど)
上にマウスカーソルがきたときに、SendMessageでウィンドウ上に表示している
メッセージを変更する。といった処理がしたいのですが、WM_MOUSEOVERで可能でしょうか?
オブジェクトの上にマウスカーソルがきたという判定をどのように
行えばよいのかわからず、悩んでいます。
リソースの値とかを元に位置判定するしかないでしょうか??
ご存知のかたがいらっしゃいましたらご教授ください。
よろしくお願いします。
WM_MOUSEMOVEで可能でしょう。
>表題のとおり
表題と質問内容が違いますが・・・・
どっちを知りたいの?
1.マウスカーソルが入った時
2.マウスカーソルが離れた時
WM_MOUSEMOVEでは、確かボタンの上などにカーソルがきた時、反応しなかった記憶がありま
す。WM_SETCURSORだとウインドウ内すべての位置などを得ることができた記憶がありますよ。
私の記憶は曖昧ですけど・・・試してみてください。
WM_SETCURSOR で WPARAM が対象のウィンドウハンドルか
どうかを判断することで判定できたと思いますよ。
以前、同じような問題にぶつかったことがあります
(VBでは簡単なのですが)
①コントロールのsub class を作り
②sub class のprocedureの中で
WM_MOUSEMOVE
でコントロール内のマウスの位置を知り、親windowにいろいろの表示をさせました