Partage via


Pointer Classe

Définition

Fournit des propriétés de base pour le pointeur d’entrée associé à une seule souris, stylet/stylet ou contact tactile.

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
Héritage
Object Platform::Object IInspectable Pointer
Attributs

Configuration requise pour Windows

Famille d’appareils
Windows 10 (introduit dans 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduit dans v1.0)

Exemples

L’exemple de code suivant montre l’utilisation de la classe Pointer pour rechercher le PointerId unique de chaque contact d’entrée dans une application, utiliser PointerDeviceType pour ignorer des formes d’entrée spécifiques (par exemple, entrée de souris) et stocker les positions du pointeur. Pour obtenir du code supplémentaire qui utilise la classe Pointer, consultez l’exemple 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;
        }
    }
}

Remarques

Dans la plupart des cas, nous vous recommandons d’obtenir des informations de pointeur via l’argument d’événement des gestionnaires d’événements de pointeur dans l’infrastructure de langage de votre choix (application Windows utilisant JavaScript, application UWP utilisant C++, C# ou Visual Basic, ou application UWP utilisant DirectX avec C++).

Si l’argument d’événement n’expose pas intrinsèquement les détails du pointeur requis par votre application, vous pouvez accéder aux données de pointeur étendues via les méthodes GetCurrentPoint et GetIntermediatePoints de PointerRoutedEventArgs. Nous vous recommandons d’utiliser ces méthodes, car vous pouvez spécifier le contexte des données du pointeur.

Les méthodes Pointeurstatiques GetCurrentPoint et GetIntermediatePoints utilisent toujours le contexte de l’application. Le pointeur est une classe abstraite utilisée pour décrire un périphérique d’entrée. Cette classe identifie le périphérique d’entrée (par exemple, le stylet, le doigt ou la souris) pour chaque événement de pointeur qui se produit.

Propriétés

IsInContact

Obtient une valeur qui détermine si l’appareil pointeur était en contact avec un capteur ou un numériseur au moment où l’événement a été signalé.

IsInRange

Obtient une valeur qui indique si l’appareil pointeur se trouve dans la plage de détection d’un capteur ou d’un numériseur.

PointerDeviceType

Obtient le PointerDeviceType pour le périphérique de pointeur.

PointerId

Obtient l’identificateur généré par le système pour cette référence de pointeur.

S’applique à

Voir aussi