次の方法で共有


IContextMenu3::HandleMenuMsg2 メソッド (shobjidl_core.h)

IContextMenu3 インターフェイスのクライアント オブジェクトが、所有者が描画したメニュー項目に関連付けられているメッセージを処理できるようにします。

構文

HRESULT HandleMenuMsg2(
  UINT    uMsg,
  WPARAM  wParam,
  LPARAM  lParam,
  LRESULT *plResult
);

パラメーター

uMsg

型: UINT

処理されるメッセージ。 WM_INITMENUPOPUP、WM_DRAWITEM、WM_MENUCHAR、WM_MEASUREITEMなどの一部のメッセージの場合、呼び出されるクライアント オブジェクトは、所有者が描画したメニュー項目を提供する場合があります。

wParam

型: WPARAM

追加のメッセージ情報。 このパラメーターの値は、 uMsg パラメーターの値によって異なります。

lParam

型: LPARAM

追加のメッセージ情報。 このパラメーターの値は、 uMsg パラメーターの値によって異なります。

plResult

種類: LRESULT*

メニューの所有者がメッセージから返す LRESULT 値のアドレス。 このパラメーターは、NULL でもかまいません。

戻り値

型: HRESULT

このメソッドは、成功すると S_OK を返します。 そうでない場合は、HRESULT エラー コードを返します。

注釈

IContextMenu3::HandleMenuMsg2 は通常、IContextMenu2::HandleMenuMsg を置き換え、IContextMenu3サポートされていると判断し、サポートされているメッセージの 1 つが受信されると呼び出されます (uMsg を参照)。 ただし、場合によっては、 IContextMenu2::HandleMenuMsg が引き続き呼び出されます。 コンテキスト メニュー ホストは、いずれかのメソッドまたは両方のメソッドを介してメニュー メッセージをディスパッチできます。 したがって、シェル拡張機能が IContextMenu2::HandleMenuMsgIContextMenu3::HandleMenuMsg2 の両方を実装する場合は、いずれかのメソッドを介してメニュー メッセージが到着するように準備する必要があります。

メモIContextMenu3 が実装されていない場合、その場所で IContextMenu2 が呼び出される保証はありません。 場合によっては、 IContextMenu3 が存在しないことが決定され、プロセスが停止します。
 

要件

要件
サポートされている最小のクライアント Windows 2000 Professional、Windows XP [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー shobjidl_core.h (Shobjidl.h を含む)
[DLL] Shell32.dll (バージョン 4.71 以降)