次の方法で共有


PopupMenu クラス

定義

コンテキスト メニューを表します。

デスクトップ アプリでは、UI を表示する方法でこのクラスのインスタンスを使用する前に、オブジェクトを所有者のウィンドウ ハンドルに関連付ける必要があります。 詳細とコード例については、「 CoreWindow に依存する WinRT UI オブジェクトを表示する」を参照してください。

public ref class PopupMenu sealed
/// [Windows.Foundation.Metadata.Activatable(65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Standard)]
class PopupMenu final
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Standard)]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
class PopupMenu final
[Windows.Foundation.Metadata.Activatable(65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Standard)]
public sealed class PopupMenu
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Standard)]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
public sealed class PopupMenu
function PopupMenu()
Public NotInheritable Class PopupMenu
継承
Object Platform::Object IInspectable PopupMenu
属性

Windows の要件

デバイス ファミリ
Windows 10 (10.0.10240.0 で導入)
API contract
Windows.Foundation.UniversalApiContract (v1.0 で導入)

イベントのイベント リスナーを追加して、ユーザーにコンテキスト メニューを "contextmenu" 提供します。 たとえば、 コンテキスト メニューのサンプル では、特定の HTML 要素のイベントをリッスンし、 関数を scenario1AttachmentHandler 呼び出します。

document.getElementById("attachment").addEventListener("contextmenu", attachmentHandler, false);

コンテキスト メニューをカスタマイズするには、イベントで preventDefault を呼び出して既定値を抑制し、 コンテキスト メニューサンプルに示すように新しい空のコンテキスト メニューを作成します。

e.preventDefault(); // Prevent the default context menu.
var menu = new Windows.UI.Popups.PopupMenu();

注釈

コンテキスト メニューには、最大 6 つのコマンドを表示できます。 この制限は、コンテキスト メニューが整理され、使用可能であり、ユーザーに直接関連していることを確認するのに役立ちます。

コンテキスト メニューのサンプル (Windows 10) とコンテキスト メニュー サンプル (Windows 8.1) でコンテキスト メニューを作成およびカスタマイズする方法を示す完全なコードを確認できます。

XAML ベースのデスクトップ アプリケーションの場合は、 メニュー ポップアップを使用してコンテキスト メニューを実装することをお勧めします。

注意

このクラスはアジャイルではありません。つまり、スレッド モデルとマーシャリング動作を考慮する必要があります。 詳細については、「スレッド処理とマーシャリング (C++/CX)」および「マルチスレッド環境での Windows ランタイム オブジェクトの使用 (.NET)」を参照してください。

コンストラクター

PopupMenu()

PopupMenu クラスの新しいインスタンスを作成します。

デスクトップ アプリでは、UI を表示する方法でこのクラスのインスタンスを使用する前に、オブジェクトを所有者のウィンドウ ハンドルに関連付ける必要があります。 詳細とコード例については、「 CoreWindow に依存する WinRT UI オブジェクトを表示する」を参照してください。

プロパティ

Commands

コンテキスト メニューのコマンドを取得します。

メソッド

ShowAsync(Point)

指定したクライアント座標のコンテキスト メニューを表示します。

ShowForSelectionAsync(Rect)

指定した選択範囲の上にコンテキスト メニューが表示されます。

ShowForSelectionAsync(Rect, Placement)

指定した選択範囲を基準にして、優先配置のコンテキスト メニューを表示します。

適用対象

こちらもご覧ください