IContextMenuSite::D oContextMenuPopup メソッド (shobjidl_core.h)

[DoContextMenuPopup は Windows Server 2003 の時点で使用できなくなりました。

ショートカット メニューを作成して表示し、そのメニューの項目の選択を追跡し、選択したコマンドを呼び出します。

構文

HRESULT DoContextMenuPopup(
  [in] IUnknown *punkContextMenu,
  [in] UINT     fFlags,
  [in] POINT    pt
);

パラメーター

[in] punkContextMenu

種類: IUnknown*

ショートカット メニューの IUnknown 実装へのポインター。

[in] fFlags

型: UINT

ショートカット メニューを変更する方法を指定する省略可能なフラグ。 このパラメーターは、次の値の任意の組み合わせに設定できます。 下位ワードの残りのビットは、システムによって予約されます。 高次ワードは、コンテキスト固有の通信に使用できます。 CMF_RESERVED値を使用して、下位の単語をマスクできます。

CMF_NORMAL (0x00000000)

0x00000000。 通常の操作を示します。 ショートカット メニュー拡張機能、名前空間拡張機能、またはドラッグ アンド ドロップ ハンドラーでは、すべてのメニュー項目を追加できます。

CMF_DEFAULTONLY (0x00000001)

0x00000001。 このフラグは、ユーザーが既定のアクション (通常はダブルクリック) をアクティブ化するときに設定されます。 このフラグは、メニューの既定の項目を変更しない場合に何も追加しないショートカット メニュー拡張機能のヒントを提供します。 この値が指定されている場合は、ショートカット メニュー拡張機能またはドラッグ アンド ドロップ ハンドラーでメニュー項目を追加しないでください。 名前空間拡張機能では、既定の項目 (存在する場合) のみを追加する必要があります。

CMF_VERBSONLY (0x00000002)

0x00000002。 このフラグは、ショートカット メニューがショートカット オブジェクト用の場合に設定されます。 ショートカット メニュー ハンドラーは、この値を無視する必要があります。

CMF_EXPLORE (0x00000004)

0x00000004。 このフラグは、Windows エクスプローラー ツリー ウィンドウが存在する場合に設定されます。

CMF_NOVERBS (0x00000008)

0x00000008。 このフラグは、[送信] メニューに表示される項目 設定されます。 ショートカット メニュー ハンドラーは、この値を無視する必要があります。

CMF_CANRENAME (0x00000010)

0x00000010。 このフラグは、呼び出し元のアプリケーションが項目の名前変更をサポートしている場合に設定されます。 ショートカット メニュー拡張機能またはドラッグ アンド ドロップ ハンドラーは、このフラグを無視する必要があります。 名前空間拡張機能は、必要に応じてメニューに名前変更項目を追加する必要があります。

CMF_NODEFAULT (0x00000020)

0x00000020。 このフラグは、メニューの項目が既定値として設定されていない場合に設定されます。 ドラッグ アンド ドロップ ハンドラーでは、このフラグを無視する必要があります。 名前空間拡張機能では、どのメニュー項目も既定値に設定しないでください。

CMF_INCLUDESTATIC (0x00000040)

この値は使用できません。

Windows Server 2003 および Windows XP: 0x00000040。 このフラグは、静的メニューを構築するときに設定されます。 ブラウザーのみがこのフラグを使用する必要があります。 その他のショートカット メニュー拡張機能はすべて、このフラグを無視する必要があります。

CMF_ITEMMENU (0x00000080)

0x00000080。 このフラグは、呼び出し元のアプリケーションが (ビューの背景ではなく) ビュー内の項目でコンテキスト メニューを呼び出すときに設定されます。

Windows Server 2003 および Windows XP: この値は使用できません。

CMF_EXTENDEDVERBS (0x00000100)

0x00000100。 このフラグは、呼び出し元のアプリケーションが拡張動詞を必要とするときに設定されます。 通常の動詞は、ユーザーがオブジェクトを右クリックしたときに表示されます。 拡張動詞を表示するには、Shift キーを押しながら右クリックする必要があります。

CMF_DISABLEDVERBS (0x00000200)

0x00000200。 このフラグは、呼び出し元のアプリケーションが、レガシ メニューなど、無効になっている動詞を呼び出す場合に設定されます。

Windows Server 2003 および Windows XP: この値は使用できません。

CMF_ASYNCVERBSTATE (0x00000400)

0x00000400。 動詞の状態を非同期的に評価できる場合、このフラグが設定されます。

Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: この値は使用できません。

CMF_OPTIMIZEFORINVOKE (0x00000800)

0x00000800。 正規動詞名を介した動詞の呼び出しをサポートしていないコンテキスト メニュー ハンドラーに、 IContextMenu::QueryContextMenu 実装でその処理をバイパスするように通知します。

Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: この値は使用できません。

CMF_SYNCCASCADEMENU (0x00001000)

0x00001000。

Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: この値は使用できません。

CMF_DONOTPICKDEFAULT (0x00002000)

0x00001000。 動詞が明示的に指定されていない場合は、その代わりに既定の動詞を使用しないでください。

Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: この値は使用できません。

CMF_RESERVED (0xffff0000)

0xffff0000。 このフラグは、使用すべきでないすべてのビットを指定するビットマスクです。 これはマスクとしてのみ使用されます。 これをパラメーター値として渡さないでください。

[in] pt

種類: POINT

ショートカット メニューを表示する場所。 このポイントは、メニューの左上隅の位置を画面座標で指定します。

戻り値

型: HRESULT

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

要件

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