MFCにおいてウインドウの外でマウス動作を取得する方法

[戻る]
NG 2008/02/19(火) 20:02:03
はじめまして、
VC++2005を使用してMFCベースのプログラムを勉強しているNGと申します。
ウインドウ上でマウスの左ボタンが押されるのを取得して、ドラッグ中とボタンが離さ
れた際に処理を行いたいと考えているのですが、
ドラッグ中にウインドウの外まで出たり、ウインドウの外でボタンが離された際に処理
が実行されなくて困っています。
現在はCxxxViewクラスでWM_LBUTTONDOWNやWM_MOUSEMOVEなどのメッセージを取得して以
下のような関数を実行している状態です。

void CTestDialogView::OnLButtonUp(UINT nFlags, CPoint point)
{
    // TODO: ここにメッセージ ハンドラ コードを追加するか、既定の処理を呼
び出します。
    Func(point.x, point.y);
    m_flag = FALSE;

    CView::OnLButtonUp(nFlags, point);
}


ウインドウの外でのマウスの移動やボタンの変化を取得するにはどうすればよいか教え
ていただけたら幸いです。

へろり 2008/02/19(火) 20:15:54
マウスキャプチャーを使います。

FUKU 2008/02/20(水) 08:55:28
マウスダウン時にSetCapture()
マウスアップ時にReleaseCapture()ですね

NG 2008/02/20(水) 10:11:25
[[解決]]
>マウスダウン時にSetCapture()
>マウスアップ時にReleaseCapture()ですね

これを試してみたところ無事取得する事が出来ました。
本当にありがとうございました!

古いスレッドには追加発言できません。