Condividi tramite


Pointer Classe

Definizione

Fornisce proprietà di base per il puntatore di input associato a un singolo mouse, penna/stilo o contatto tocco.

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
Ereditarietà
Object Platform::Object IInspectable Pointer
Attributi

Requisiti Windows

Famiglia di dispositivi
Windows 10 (è stato introdotto in 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (è stato introdotto in v1.0)

Esempio

L'esempio di codice seguente mostra l'utilizzo della classe Pointer per trovare l'id puntatore univoco di ogni contatto di input in un'app, usare PointerDeviceType per ignorare forme specifiche di input (ad esempio, l'input del mouse) e archiviare le posizioni del puntatore. Per codice aggiuntivo che usa la classe Pointer, vedere l'esempio di 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;
        }
    }
}

Commenti

Nella maggior parte dei casi, ti consigliamo di ottenere informazioni sul puntatore tramite l'argomento dell'evento dei gestori eventi del puntatore nel framework del linguaggio scelto (app windows con JavaScript, app UWP con C++, C#o Visual Basic o app UWP con DirectX con C++).

Se l'argomento evento non espone intrinsecamente i dettagli del puntatore richiesti dall'app, è possibile accedere ai dati del puntatore estesi tramite i metodi GetCurrentPoint e GetIntermediatePoints di PointerRoutedEventArgs. È consigliabile usare questi metodi perché è possibile specificare il contesto dei dati del puntatore.

I metodi statici pointerPoint , GetCurrentPoint e GetIntermediatePoints, usano sempre il contesto dell'app. Puntatore è una classe astratta usata per descrivere un dispositivo di input. Questa classe identifica il dispositivo di input ,ad esempio lo stilo, il dito o il mouse, per ogni evento puntatore che si verifica.

Proprietà

IsInContact

Ottiene un valore che determina se il dispositivo puntatore era in contatto con un sensore o un digitalizzatore al momento in cui è stato segnalato l'evento.

IsInRange

Ottiene un valore che indica se il dispositivo puntatore è compreso nell'intervallo di rilevamento di un sensore o di un digitalizzatore.

PointerDeviceType

Ottiene pointerDeviceType per il dispositivo puntatore.

PointerId

Ottiene l'identificatore generato dal sistema per questo riferimento al puntatore.

Si applica a

Vedi anche