Compartilhar via


Pointer Classe

Definição

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(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class Pointer final
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class Pointer final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class Pointer
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class Pointer
Public NotInheritable Class Pointer
Herança
Object Platform::Object IInspectable Pointer
Atributos

Requisitos do Windows

Família de dispositivos
Windows 10 (introduzida na 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduzida na v1.0)

Exemplos

O exemplo de código a seguir mostra o uso da classe Pointer para localizar o PointerId exclusivo de cada contato de entrada em um aplicativo, usar PointerDeviceType para ignorar formas específicas de entrada (por exemplo, entrada do mouse) e armazenar as posições pointer. 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

Na maioria dos casos, recomendamos que você obtenha informações de ponteiro por meio do argumento event dos manipuladores de eventos de ponteiro na estrutura de linguagem escolhida (aplicativo do Windows usando JavaScript, aplicativo UWP usando C++, C#ou Visual Basic ou aplicativo UWP usando DirectX com C++).

Se o argumento event não expor intrinsecamente os detalhes do ponteiro exigidos pelo seu 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.

Os métodos estáticos PointerPoint , GetCurrentPoint e GetIntermediatePoints, sempre usam o contexto do aplicativo. Pointer é uma classe abstrata 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.

Propriedades

IsInContact

Obtém um valor que determina se o dispositivo 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 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.

Aplica-se a

Confira também