PopupMenu.ShowForSelectionAsync Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Überlädt
ShowForSelectionAsync(Rect) |
Zeigt das Kontextmenü oberhalb der angegebenen Auswahl an. |
ShowForSelectionAsync(Rect, Placement) |
Zeigt das Kontextmenü in der bevorzugten Platzierung relativ zur angegebenen Auswahl an. |
ShowForSelectionAsync(Rect)
Zeigt das Kontextmenü oberhalb der angegebenen Auswahl an.
public:
virtual IAsyncOperation<IUICommand ^> ^ ShowForSelectionAsync(Rect selection) = ShowForSelectionAsync;
/// [Windows.Foundation.Metadata.Overload("ShowAsyncWithRect")]
IAsyncOperation<IUICommand> ShowForSelectionAsync(Rect const& selection);
[Windows.Foundation.Metadata.Overload("ShowAsyncWithRect")]
public IAsyncOperation<IUICommand> ShowForSelectionAsync(Rect selection);
function showForSelectionAsync(selection)
Public Function ShowForSelectionAsync (selection As Rect) As IAsyncOperation(Of IUICommand)
Parameter
- selection
- Rect
Die Koordinaten (in DIPs) des ausgewählten Rechtecks relativ zum Fenster. Das Kontextmenü befindet sich direkt oberhalb und zentriert auf diesem Rechteck, sodass die Auswahl nicht abgedeckt wird.
Hinweis
Für VB, C# und C++ ist dieses Fenster das CoreWindow,das dem Thread zugeordnet ist, der das Kontextmenü aufruft.
Gibt zurück
Ein IUICommand-Objekt , das den Kontextmenübefehl darstellt, der vom Benutzer aufgerufen wird, nachdem der ShowForSelectionAsync-Aufruf abgeschlossen wurde.
Wenn kein Befehl aufgerufen wird, gibt ShowForSelectionAsync NULL zurück.
- Attribute
Beispiele
Bevor Sie ein Kontextmenü anzeigen können, müssen Sie einen Ereignislistener für das oncontextmenu-Ereignis hinzufügen. Das Kontextmenübeispiel lauscht beispielsweise auf das Ereignis für bestimmte HTML-Elemente und ruft dann die scenario1AttachmentHandler
Funktion auf.
document.getElementById("attachment").addEventListener("contextmenu", attachmentHandler, false);
// We don't want to obscure content, so pass in the position representing the selection area.
menu.showForSelectionAsync(clientToWinRTRect(document.selection.createRange().getBoundingClientRect())).then(function (invokedCommand) {
if (invokedCommand !== null) {
switch (invokedCommand.id) {
case 1: // Copy
var selectedText = window.getSelection();
copyTextToClipboard(selectedText);
var message = "'Copy' button clicked and '" + /*@static_cast(String)*/selectedText + "' copied to clipboard";
WinJS.log && WinJS.log(message, "sample", "status");
break;
case 2: // Highlight
// Add command handler code here.
WinJS.log && WinJS.log("'Highlight' button clicked", "sample", "status");
break;
case 3: // Look up
// Add command handler code here.
WinJS.log && WinJS.log("'Look up' button clicked", "sample", "status");
break;
default:
break;
}
} else {
// The command is null if no command was invoked.
WinJS.log && WinJS.log("Context menu dismissed", "sample", "status");
}
});
Darüber hinaus verwendet das Kontextmenübeispiel zwei Hilfsfunktionen (getSelectionRect
und getclientCoordinates
), um die Koordinaten für das Auswahlrechteck festzulegen.
// Converts from client to WinRT coordinates, which take scale factor into consideration.
function clientToWinRTRect(rect) {
var zoomFactor = document.documentElement.msContentZoomFactor;
return {
x: (rect.left + document.documentElement.scrollLeft - window.pageXOffset) * zoomFactor,
y: (rect.top + document.documentElement.scrollTop - window.pageYOffset) * zoomFactor,
width: rect.width * zoomFactor,
height: rect.height * zoomFactor
};
}
Hinweise
Im Kontextmenübeispiel sehen Sie vollständige Codebeispiele, die das Erstellen und Anpassen von Kontextmenüs veranschaulichen.
Weitere Informationen
- IUICommand
- Rect
- ShowForSelectionAsync(Rect, Placement)
- UICommand
- Hinzufügen von Kontextmenüs
- Kontextmenübeispiel
- Richtlinien und Prüfliste für
- oncontextmenu
Gilt für:
ShowForSelectionAsync(Rect, Placement)
Zeigt das Kontextmenü in der bevorzugten Platzierung relativ zur angegebenen Auswahl an.
public:
virtual IAsyncOperation<IUICommand ^> ^ ShowForSelectionAsync(Rect selection, Placement preferredPlacement) = ShowForSelectionAsync;
/// [Windows.Foundation.Metadata.Overload("ShowAsyncWithRectAndPlacement")]
IAsyncOperation<IUICommand> ShowForSelectionAsync(Rect const& selection, Placement const& preferredPlacement);
[Windows.Foundation.Metadata.Overload("ShowAsyncWithRectAndPlacement")]
public IAsyncOperation<IUICommand> ShowForSelectionAsync(Rect selection, Placement preferredPlacement);
function showForSelectionAsync(selection, preferredPlacement)
Public Function ShowForSelectionAsync (selection As Rect, preferredPlacement As Placement) As IAsyncOperation(Of IUICommand)
Parameter
- selection
- Rect
Die Koordinaten (in DIPs) des ausgewählten Rechtecks relativ zum Fenster.
Hinweis
Für VB, C# und C++ ist dieses Fenster das CoreWindow,das dem Thread zugeordnet ist, der das Kontextmenü aufruft.
- preferredPlacement
- Placement
Die bevorzugte Platzierung des Kontextmenüs relativ zum Auswahlrechteck.
Das Kontextmenü wird im preferredPlacement positioniert, wenn das Menü in das Fenster passt und die Auswahl nicht abdeckt. Wenn das Kontextmenü nicht in die bevorzugte Platzierung passt, wird eine andere Platzierung verwendet, die die Auswahl nicht abdeckt. Wenn das Kontextmenü an keiner anderen Stelle passt, wird eine Platzierung verwendet, die die Auswahl teilweise oder vollständig abdeckt.
Gibt zurück
Ein IUICommand-Objekt , das den Kontextmenübefehl darstellt, der vom Benutzer aufgerufen wird, nachdem der ShowForSelectionAsync-Aufruf abgeschlossen wurde.
Wenn kein Befehl aufgerufen wird, gibt ShowForSelectionAsyncNULL zurück.
- Attribute
Beispiele
Bevor Sie ein Kontextmenü anzeigen können, müssen Sie einen Ereignislistener für das oncontextmenu-Ereignis hinzufügen. Das Kontextmenübeispiel lauscht beispielsweise auf das Ereignis für bestimmte HTML-Elemente und ruft dann die scenario1AttachmentHandler
Funktion auf.
document.getElementById("attachment").addEventListener("contextmenu", attachmentHandler, false);
// Converts from client to WinRT coordinates, which take scale factor into consideration.
function clientToWinRTRect(rect) {
var zoomFactor = document.documentElement.msContentZoomFactor;
return {
x: (rect.left + document.documentElement.scrollLeft - window.pageXOffset) * zoomFactor,
y: (rect.top + document.documentElement.scrollTop - window.pageYOffset) * zoomFactor,
width: rect.width * zoomFactor,
height: rect.height * zoomFactor
};
}
Hinweise
Im Kontextmenübeispiel sehen Sie vollständige Codebeispiele, die das Erstellen und Anpassen von Kontextmenüs veranschaulichen.
Weitere Informationen
- IUICommand
- Rect
- ShowForSelectionAsync(Rect)
- UICommand
- Hinzufügen von Kontextmenüs
- Kontextmenübeispiel
- Richtlinien und Prüfliste für
- oncontextmenu