IPointerInactive::OnInactiveMouseMove メソッド (ocidl.h)
オブジェクトがマウス イベントを発生できるように、マウス ポインターがその上に移動したことをオブジェクトに通知します。 このメソッドは、非アクティブなオブジェクトがマウス ポインターの下にある場合に、WM_MOUSEMOVE メソッドの受信時にコンテナーによって呼び出されます。
構文
HRESULT OnInactiveMouseMove(
[in] LPCRECT pRectBounds,
[in] LONG x,
[in] LONG y,
[in] DWORD grfKeyState
);
パラメーター
[in] pRectBounds
オブジェクトの外接する四角形 (含むウィンドウのクライアント座標)。 このパラメーターは、WM_MOUSEMOVE メッセージを受信したときに、画面上の正確な位置とサイズをオブジェクトに通知します。 この値は、クライアントの座標系の単位で指定されます。
[in] x
クライアントの包含ウィンドウの単位でのマウス位置の水平方向の座標。
[in] y
クライアントの格納ウィンドウの単位でのマウス位置の垂直方向の座標。
[in] grfKeyState
キーボードのキーボード修飾子キーの現在の状態。 使用できる値は、MK_CONTROL、MK_SHIFT、MK_ALT、MK_BUTTON、MK_LBUTTON、MK_MBUTTON、MK_RBUTTONのいずれかの値の組み合わせです。
戻り値
メソッドが成功した場合、戻り値はS_OK。 それ以外の場合は、E_FAIL。
注釈
コンテナーは、 IPointerInactive::GetActivationPolicy メソッドを呼び出して、オブジェクトのアクティブ化ポリシーを確認した後、マウス ポインターがオブジェクトの上にあることをオブジェクトに通知するために、このメソッドを呼び出します。 その呼び出しによってオブジェクトがインプレースアクティブ化を要求していない場合、コンテナーは、マウス ポインターがオブジェクトの上に留まる限り OnInactiveMouseMove を 呼び出して、後続のWM_MOUSEMOVE メッセージを非アクティブ オブジェクトにディスパッチします。 その後、オブジェクトはマウスの移動イベントを発生させることができます。
丸めエラーを回避し、オブジェクト実装者でジョブを容易にするために、このメソッドは、通常の HIMETRIC 単位ではなく、オブジェクトが表示されるウィンドウを含むクライアント ウィンドウの単位でウィンドウ座標を受け取ります。 したがって、オブジェクトがアクティブで非アクティブな場合は、同じ座標とコード パスを使用できます。 ウィンドウ座標は、マウスの位置を指定します。 外接する四角形は、同じ座標系でも指定されます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | ocidl.h |