Pointer Classe
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.
Fornece propriedades básicas para o ponteiro de entrada associado a um único mouse, caneta/caneta ou contato por toque.
public ref class Pointer sealed
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class Pointer final
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class Pointer
Public NotInheritable Class Pointer
- Herança
- Atributos
Exemplos
O exemplo de código a seguir mostra o uso da classe Pointer para localizar a PointerId exclusiva de cada contato de entrada em um aplicativo, usar o PointerDeviceType para ignorar formas específicas de entrada (por exemplo, entrada do mouse) e armazenar as posições ponteiro. Para obter código adicional que usa a classe Pointer, consulte o exemplo de entrada.
using System.Collections.Generic;
using Windows.Foundation;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Navigation;
namespace PointerExample
{
public sealed partial class BlankPage : Page
{
Dictionary<uint, Point?> _contacts;
const uint SUPPORTEDCONTACTS = 5;
public BlankPage()
{
this.InitializeComponent();
_contacts = new Dictionary<uint, Point?>((int)SUPPORTEDCONTACTS);
this.PointerPressed += BlankPage_PointerPressed;
this.PointerReleased += BlankPage_PointerReleased;
}
private void BlankPage_PointerPressed(object sender,
PointerRoutedEventArgs e)
{
// Ignore mouse inputs.
if (e.Pointer.PointerDeviceType !=
Windows.Devices.Input.PointerDeviceType.Mouse)
{
// Store and touch input contacts.
Windows.UI.Input.PointerPoint pt = e.GetCurrentPoint(this);
_contacts[e.Pointer.PointerId] = pt.Position;
}
e.Handled = true;
}
private void BlankPage_PointerReleased(object sender,
PointerRoutedEventArgs e)
{
// Ignore mouse inputs.
if (e.Pointer.PointerDeviceType !=
Windows.Devices.Input.PointerDeviceType.Mouse)
{
// Remove pointer contacts information.
uint ptrId = e.Pointer.PointerId;
if (_contacts.ContainsKey(ptrId))
{
_contacts[ptrId] = null;
_contacts.Remove(ptrId);
}
}
e.Handled = true;
}
}
}
Comentários
A Pointer
classe é usada para descrever um dispositivo de entrada. Essa classe identifica o dispositivo de entrada (como caneta, dedo ou mouse) para cada evento de ponteiro que ocorre.
Na maioria dos casos, recomendamos que você obtenha informações de ponteiro por meio do argumento de evento dos manipuladores de eventos de ponteiro (consulte PointerRoutedEventArgs).
Se o argumento de evento não expor intrinsecamente os detalhes do ponteiro exigidos pelo aplicativo, você poderá obter acesso a dados de ponteiro estendidos por meio dos métodos GetCurrentPoint e GetIntermediatePoints de PointerRoutedEventArgs. É recomendável usar esses métodos, pois você pode especificar o contexto dos dados do ponteiro.
Propriedades
IsInContact |
Obtém um valor que determina se o dispositivo de ponteiro estava em contato com um sensor ou digitalizador no momento em que o evento foi relatado. |
IsInRange |
Obtém um valor que indica se o dispositivo de ponteiro está dentro do intervalo de detecção de um sensor ou digitalizador. |
PointerDeviceType |
Obtém o PointerDeviceType para o dispositivo de ponteiro. |
PointerId |
Obtém o identificador gerado pelo sistema para essa referência de ponteiro. |