Partilhar 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(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
Object Platform::Object IInspectable Pointer
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.

Aplica-se a

Confira também