Pointer Clase

Definición

Proporciona propiedades básicas para el puntero de entrada asociado a un solo mouse, lápiz o lápiz táctil o contacto táctil.

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
Herencia
Object Platform::Object IInspectable Pointer
Atributos

Requisitos de Windows

Familia de dispositivos
Windows 10 (se introdujo en la versión 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (se introdujo en la versión v1.0)

Ejemplos

En el ejemplo de código siguiente se muestra el uso de la clase Pointer para buscar el PointerId único de cada contacto de entrada en una aplicación, use PointerDeviceType para omitir formas específicas de entrada (por ejemplo, entrada del mouse) y almacenar las posiciones del puntero. Para obtener código adicional que use la clase Pointer, consulte el ejemplo input.

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;
        }
    }
}

Comentarios

En la mayoría de los casos, te recomendamos que obtengas información de puntero a través del argumento de evento de los controladores de eventos de puntero en tu marco de lenguaje elegido (aplicación de Windows con JavaScript, aplicación para UWP con C++, C#o Visual Basic o aplicación para UWP mediante DirectX con C++).

Si el argumento event no expone intrínsecamente los detalles del puntero requeridos por la aplicación, puede obtener acceso a los datos de puntero extendidos a través de los métodos GetCurrentPoint y GetIntermediatePoints de PointerRoutedEventArgs. Se recomienda usar estos métodos, ya que puede especificar el contexto de los datos del puntero.

Los métodos estáticos PointerPoint , GetCurrentPoint y GetIntermediatePoints, siempre usan el contexto de la aplicación. El puntero es una clase abstracta que se usa para describir un dispositivo de entrada. Esta clase identifica el dispositivo de entrada (como lápiz óptico, dedo o mouse) para cada evento de puntero que se produzca.

Propiedades

IsInContact

Obtiene un valor que determina si el dispositivo de puntero estaba en contacto con un sensor o digitalizador en el momento en que se notificó el evento.

IsInRange

Obtiene un valor que indica si el dispositivo de puntero está dentro del intervalo de detección de un sensor o digitalizador.

PointerDeviceType

Obtiene pointerDeviceType para el dispositivo de puntero.

PointerId

Obtiene el identificador generado por el sistema para esta referencia de puntero.

Se aplica a

Consulte también