Share via


IOleInPlaceObjectWindowless::OnWindowMessage メソッド (ocidl.h)

コンテナーから、インプレース アクティブなウィンドウレス オブジェクトにメッセージをディスパッチします。

構文

HRESULT OnWindowMessage(
  [in]  UINT    msg,
  [in]  WPARAM  wParam,
  [in]  LPARAM  lParam,
  [out] LRESULT *plResult
);

パラメーター

[in] msg

Windows によってコンテナーに提供されるウィンドウ メッセージの識別子。

[in] wParam

Windows によってコンテナーに提供されるウィンドウ メッセージのパラメーター。

[in] lParam

Windows によってコンテナーに提供されるウィンドウ メッセージのパラメーター。

[out] plResult

ウィンドウ メッセージの結果コードへのポインター。

戻り値

このメソッドは、成功したS_OKを返します。 その他の可能な戻り値は次のとおりです。

リターン コード 説明
S_FALSE
ウィンドウレス オブジェクトは、ウィンドウ メッセージを処理しませんでした。 コンテナーは、メッセージに対して DefWindowProc を呼び出すか、以下で説明するようにメッセージ自体を処理する必要があります。

注釈

コンテナーは、このメソッドを呼び出して、インプレース アクティブなウィンドウレス オブジェクトにウィンドウ メッセージを送信します。 コンテナーは、次のガイドラインに従ってメッセージをディスパッチする必要があります。

次のメッセージの場合、コンテナーはまず、マウスをキャプチャしたウィンドウレス オブジェクト (存在する場合) にメッセージをディスパッチする必要があります。 それ以外の場合、コンテナーは、マウス カーソルの下にあるウィンドウレス オブジェクトにメッセージをディスパッチする必要があります。 このようなオブジェクトがない場合、コンテナーは次のメッセージを自由に処理できます。

  • WM_MOUSEMOVE
  • WM_SETCURSOR
  • WM_XBUTTONDOWN
  • WM_XBUTTONUP
  • WM_XBUTTONDBLCLK
コンテナーは、次のメッセージのキーボード フォーカスを使用して、ウィンドウレス オブジェクトにメッセージをディスパッチする必要があります。
  • WM_CANCELMODE
  • WM_CHAR
  • WM_DEADCHAR
  • Wm_help
  • WM_IMExxx
  • WM_KEYDOWN
  • WM_KEYUP
  • WM_SYSDEADCHAR
  • WM_SYSKEYDOWN
  • WM_SYSKEYUP
他のすべてのメッセージの場合、コンテナーは独自にメッセージを処理する必要があります。

ウィンドウレス オブジェクトは、メッセージを処理しなかったことを示すために、このメソッドにS_FALSEを返すことができます。 次に、コンテナーは DefWindowProc 関数を呼び出してメッセージの既定の動作を実行するか、メッセージ自体を処理します。

コンテナーは、次のウィンドウ メッセージを既定のウィンドウ プロシージャに渡す必要があります。

  • WM_CHAR
  • WM_DEADCHAR
  • WM_IMExxx
  • WM_KEYDOWN
  • WM_KEYUP
  • WM_MOUSEMOVE
  • WM_SYSCHAR
  • WM_SYSDEADCHAR
  • WM_SYSKEYUP
  • WM_XBUTTONDOWN
  • WM_XBUTTONUP
  • WM_XBUTTONDBLCLK
コンテナーは、次のウィンドウ メッセージをそれ自体として処理する必要があります。
  • WM_CONTEXTMENU
  • Wm_help
  • WM_SETCURSOR
メモ WM_SETCURSORの場合、コンテナーはカーソル自体を設定するか、何も実行できません。
 
オブジェクトは 、IOleInPlaceSiteWindowless::OnDefWindowMessage を使用して、コンテナーから既定のメッセージ処理を明示的に呼び出すこともできます。 WM_SETCURSOR メッセージの場合、コンテナーがカーソルを設定していない場合、オブジェクトはアクションを実行できます。

wParam および lParam の オブジェクトに渡されるすべての座標は、含まれているウィンドウのクライアント座標として指定されます。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー ocidl.h

こちらもご覧ください