PopupMenu.ShowForSelectionAsync Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Surcharges
ShowForSelectionAsync(Rect) |
Affiche le menu contextuel au-dessus de la sélection spécifiée. |
ShowForSelectionAsync(Rect, Placement) |
Affiche le menu contextuel dans l’emplacement préféré par rapport à la sélection spécifiée. |
ShowForSelectionAsync(Rect)
Affiche le menu contextuel au-dessus de la sélection spécifiée.
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)
Paramètres
- selection
- Rect
Coordonnées (en DIPs) du rectangle sélectionné, par rapport à la fenêtre. Le menu contextuel est placé directement au-dessus et centré sur ce rectangle de sorte que la sélection n’est pas couverte.
Notes
Pour VB, C# et C++, cette fenêtre est le CoreWindow associé au thread qui appelle le menu contextuel.
Retours
Objet IUICommand qui représente la commande de menu contextuel appelée par l’utilisateur, une fois l’appel ShowForSelectionAsync terminé.
Si aucune commande n’est appelée, ShowForSelectionAsync retourne null.
- Attributs
Exemples
Avant de pouvoir afficher un menu contextuel, vous devez ajouter un écouteur d’événement pour l’événement oncontextmenu . Par exemple, l’exemple de menu contextuel écoute l’événement sur des éléments HTML spécifiques, puis appelle la scenario1AttachmentHandler
fonction.
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");
}
});
En outre, l’exemple de menu contextuel utilise deux fonctions d’assistance (getSelectionRect
et getclientCoordinates
) pour définir les coordonnées du rectangle de sélection.
// 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
};
}
Remarques
Vous pouvez voir des exemples de code complets qui montrent comment créer et personnaliser des menus contextuels dans l’exemple de menu contextuel.
Voir aussi
- IUICommand
- Rect
- ShowForSelectionAsync(Rect, Placement)
- UICommand
- Ajout de menus contextuels
- Exemple de menu contextuel
- Recommandations et liste de contrôle pour
- oncontextmenu
S’applique à
ShowForSelectionAsync(Rect, Placement)
Affiche le menu contextuel dans l’emplacement préféré par rapport à la sélection spécifiée.
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)
Paramètres
- selection
- Rect
Coordonnées (en DIPs) du rectangle sélectionné, par rapport à la fenêtre.
Notes
Pour VB, C# et C++, cette fenêtre est le CoreWindow associé au thread qui appelle le menu contextuel.
- preferredPlacement
- Placement
Emplacement préféré du menu contextuel par rapport au rectangle de sélection.
Le menu contextuel est positionné dans le preferredPlacement si le menu s’intègre dans la fenêtre et ne couvre pas la sélection. Si le menu contextuel ne correspond pas à l’emplacement préféré, un autre emplacement qui ne couvre pas la sélection est utilisé. Si le menu contextuel ne convient nulle part ailleurs, un emplacement qui couvre partiellement ou entièrement la sélection est utilisé.
Retours
Objet IUICommand qui représente la commande de menu contextuel appelée par l’utilisateur, une fois l’appel ShowForSelectionAsync terminé.
Si aucune commande n’est appelée, ShowForSelectionAsync retourne null.
- Attributs
Exemples
Avant de pouvoir afficher un menu contextuel, vous devez ajouter un écouteur d’événement pour l’événement oncontextmenu . Par exemple, l’exemple de menu contextuel écoute l’événement sur des éléments HTML spécifiques, puis appelle la scenario1AttachmentHandler
fonction.
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
};
}
Remarques
Vous pouvez voir des exemples de code complets qui montrent comment créer et personnaliser des menus contextuels dans l’exemple de menu contextuel.
Voir aussi
- IUICommand
- Rect
- ShowForSelectionAsync(Rect)
- UICommand
- Ajout de menus contextuels
- Exemple de menu contextuel
- Recommandations et liste de contrôle pour
- oncontextmenu