PopupMenu.ShowAsync(Point) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定したクライアント座標のコンテキスト メニューを表示します。
public:
virtual IAsyncOperation<IUICommand ^> ^ ShowAsync(Point invocationPoint) = ShowAsync;
IAsyncOperation<IUICommand> ShowAsync(Point const& invocationPoint);
public IAsyncOperation<IUICommand> ShowAsync(Point invocationPoint);
function showAsync(invocationPoint)
Public Function ShowAsync (invocationPoint As Point) As IAsyncOperation(Of IUICommand)
パラメーター
- invocationPoint
- Point
oncontextmenu イベントが発生したときに、ユーザーの指またはマウス ポインターのウィンドウに対する相対座標 (DIP 単位)。 メニューは上に配置され、このポイントの中央に配置されます。
注意
VB、C#、C++ の場合、このウィンドウはコンテキスト メニューを呼び出しているスレッドに関連付けられた CoreWindow です。
戻り値
ShowAsync 呼び出しの完了後にユーザーによって呼び出されたコンテキスト メニュー コマンドを表す IUICommand オブジェクト。
コマンドが呼び出されない場合、ShowAsync は null を返します。
例
コンテキスト メニューを表示する前に、 oncontextmenu イベントのイベント リスナーを追加する必要があります。 たとえば、 コンテキスト メニューのサンプル では、特定の HTML 要素のイベントをリッスンし、 関数を scenario1AttachmentHandler
呼び出します。
document.getElementById("attachment").addEventListener("contextmenu", attachmentHandler, false);
menu.commands.append(new Windows.UI.Popups.UICommand("Save attachment", onSaveAttachment));
// We don't want to obscure content, so pass in the position representing the selection area.
// We registered command callbacks; no need to handle the menu completion event
menu.showAsync(pageToWinRT(e.pageX, e.pageY)).then(function (invokedCommand) {
if (invokedCommand === null) {
// The command is null if no command was invoked.
WinJS.log && WinJS.log("Context menu dismissed", "sample", "status");
}
});
さらに、コマンドが呼び出されたことをチェックし、アプリに応じてそのケースを処理します。 呼び出された UICommand にコールバック関数 (onSaveAttachment
の例) がある場合、コールバック関数が実行されます。 それ以外の場合は、 UICommand.Id を使用して、呼び出されたコマンドを識別して処理する必要があります。
注釈
コンテキスト メニューのサンプルでは、コンテキスト メニューを作成およびカスタマイズする方法を示す完全なコード例を確認できます。