次の方法で共有


IContextMenu2::HandleMenuMsg メソッド (shobjidl_core.h)

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

構文

HRESULT HandleMenuMsg(
  UINT   uMsg,
  WPARAM wParam,
  LPARAM lParam
);

パラメーター

uMsg

型: UINT

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

wParam

型: WPARAM

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

lParam

型: LPARAM

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

戻り値

種類: HRESULT

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

解説

IContextMenu2::HandleMenuMsg は通常 、HandleMenuMsg2 に置き換えられます。 HandleMenuMsg2 は、 IContextMenu3 がサポートされていると IContextMenu3 が判断し、 uMsg パラメーターの説明で指定されたメッセージのいずれかを受信すると呼び出されます。 ただし、場合によっては、 IContextMenu2::HandleMenuMsg が引き続き呼び出されます。

IContextMenu2 または IContextMenu3 が必要な場合、新しいコンテキスト メニューの最適な実装は、HandleMenuMsg2 にすべてのロジックを実装し、IContextMenu2::HandleMenuMsg 実装で HandleMenuMsg2 への呼び出しを委任し、null をplResult パラメーターとして渡すことです。

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

要件

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

関連項目

HandleMenuMsg2

IContextMenu2