次の方法で共有


IOleInPlaceSiteWindowless::OnDefWindowMessage メソッド (ocidl.h)

オブジェクトに渡されるすべてのメッセージに対して、既定の処理を呼び出します。

構文

HRESULT OnDefWindowMessage(
  [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
ウィンドウ メッセージに対するコンテナーの既定の処理が呼び出されませんでした。 以下の「実装者への注意」を参照してください。

注釈

ウィンドウレス オブジェクトは、このメソッドを呼び出すことによって、ウィンドウ メッセージの既定の処理を明示的に呼び出すことができます。 コンテナーは、 IOleInPlaceObjectWindowless::OnWindowMessage を呼び出して、ウィンドウなしのオブジェクトにウィンドウ メッセージをディスパッチします。 オブジェクトは通常、メッセージを処理しなかったことを示すS_FALSEを返します。 その後、コンテナーは DefWindowProc 関数を呼び出すことによって、メッセージの既定の動作を実行できます。

代わりに、 オブジェクトはコンテナーのサイト オブジェクトでこのメソッドを呼び出して、既定の処理を明示的に呼び出すことができます。 その後、コンテナーがメッセージを処理しない場合、オブジェクトは単独でアクションを実行できます。

実装者へのメモ

コンテナーは、次のウィンドウ メッセージを既定のウィンドウ プロシージャ ( DefWindowProc 関数) に渡し、S_OK返す必要があります。 *plResult には 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
コンテナーは、ウィンドウ メッセージをそれ自体として処理し、S_OKを返すか、何もせず、S_FALSE返すことができます。
  • WM_CONTEXTMENU
  • Wm_help
  • WM_SETCURSOR
コンテナーから S_FALSEが返された場合、オブジェクトは独自にウィンドウ メッセージを処理するアクションを実行できます。

要件

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

こちらもご覧ください

IOleInPlaceObjectWindowless::OnWindowMessage

IOleInPlaceSiteWindowless