Pointer Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
- 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. |