環境:Win2000 SP4,VC6
ダイアログにピクチャーコントロールを貼り付けて、そこに、任意の座標の四角形を描画し、その四角形の領域にマウスカーソルが来た場合に、マウスカーソルを変更したいのですが、どうすれば良いでしょうか?ご教授願います。
四角形の描画方法には色々あると思いますが、特に指定はありません。
よろしくお願いいたします。
WM_SETCURSOR、SetCursorについて調べてみるといい
その四角形の領域かどうかは自分で座標をチェックすることになるだろうな
ご助言ありがとうございます。
四角形の座標をチェックするのに、ピクチャーコントロール(デバイスコンテキスト)にあるマウスカーソルの座標を取得したいのですが、何か方法はないでしょうか?
取得したいのは、ダイアログでのマウスカーソル座標ではなく、ピクチャーコントロールの左上をx=0,y=0としたマウスカーソルの座標です。
WM_MOUSEMOVE(OnMouseMove( UINT nFlags, CPoint point );)等のCPointでは、ダイアログ上のマウスカーソルの座標が設定されるようで使えませんでした。
よろしくお願いいたします。
ピクチャーコントロールをサブクラス化して
ピクチャーコントロールのWM_SETCURSORでSetCursorする
あるいは
ClientToScreenおよびScreenToClientをつかい座標を換える
あるいは
ウィンドウの座標を調べて自分で加減算して座標を換える
サブクラス化は四角形の座標の持ち方が私には難しかったので、ClientToScreenを使うことにしました。
ありがとうございました。