PopupMenu.ShowForSelectionAsync Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Sobrecargas
ShowForSelectionAsync(Rect) |
Mostra o menu de contexto acima da seleção especificada. |
ShowForSelectionAsync(Rect, Placement) |
Mostra o menu de contexto no posicionamento preferencial em relação à seleção especificada. |
ShowForSelectionAsync(Rect)
Mostra o menu de contexto acima da seleção especificada.
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)
Parâmetros
- selection
- Rect
As coordenadas (em DIPs) do retângulo selecionado, em relação à janela. O menu de contexto é colocado diretamente acima e centralizado nesse retângulo de modo que a seleção não seja coberta.
Observação
Para VB, C#e C++, essa janela é o CoreWindow associado ao thread que está chamando o menu de contexto.
Retornos
Um objeto IUICommand que representa o comando de menu de contexto invocado pelo usuário, após a conclusão da chamada ShowForSelectionAsync.
Se nenhum comando for invocado, ShowForSelectionAsync retornará nulo.
- Atributos
Exemplos
Antes de mostrar um menu de contexto, você deve adicionar um ouvinte de eventos para o evento oncontextmenu . Por exemplo, o exemplo de menu Contexto escuta o evento em elementos HTML específicos e chama a scenario1AttachmentHandler
função .
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");
}
});
Além disso, o exemplo de menu Contexto usa duas funções auxiliares (getSelectionRect
e getclientCoordinates
) para definir as coordenadas do retângulo de seleção.
// 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
};
}
Comentários
Você pode ver exemplos de código completos que demonstram como criar e personalizar menus de contexto no exemplo de menu Contexto.
Confira também
- IUICommand
- Rect
- ShowForSelectionAsync(Rect, Placement)
- UICommand
- Adicionar menus de contexto
- Exemplo de menu de contexto
- Diretrizes e lista de verificação para
- oncontextmenu
Aplica-se a
ShowForSelectionAsync(Rect, Placement)
Mostra o menu de contexto no posicionamento preferencial em relação à seleção especificada.
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)
Parâmetros
- selection
- Rect
As coordenadas (em DIPs) do retângulo selecionado, em relação à janela.
Observação
Para VB, C#e C++, essa janela é o CoreWindow associado ao thread que está chamando o menu de contexto.
- preferredPlacement
- Placement
O posicionamento preferencial do menu de contexto em relação ao retângulo de seleção.
O menu de contexto será posicionado no preferredPlacement se o menu se ajustar à janela e não cobrir a seleção. Se o menu de contexto não se ajustar ao posicionamento preferencial, outro posicionamento que não abrange a seleção será usado. Se o menu de contexto não se ajustar a nenhum outro lugar, um posicionamento que abrange parcial ou totalmente a seleção será usado.
Retornos
Um objeto IUICommand que representa o comando de menu de contexto invocado pelo usuário, após a conclusão da chamada ShowForSelectionAsync .
Se nenhum comando for invocado, ShowForSelectionAsync retornará nulo.
- Atributos
Exemplos
Antes de mostrar um menu de contexto, você deve adicionar um ouvinte de eventos para o evento oncontextmenu . Por exemplo, o exemplo de menu Contexto escuta o evento em elementos HTML específicos e chama a scenario1AttachmentHandler
função .
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
};
}
Comentários
Você pode ver exemplos de código completos que demonstram como criar e personalizar menus de contexto no exemplo de menu Contexto.
Confira também
- IUICommand
- Rect
- ShowForSelectionAsync(Rect)
- UICommand
- Adicionar menus de contexto
- Exemplo de menu de contexto
- Diretrizes e lista de verificação para
- oncontextmenu