Share via


Pointer Kelas

Definisi

Menyediakan properti dasar untuk penunjuk input yang terkait dengan satu mouse, pena/stylus, atau kontak sentuh.

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
Warisan
Object Platform::Object IInspectable Pointer
Atribut

Contoh

Contoh kode berikut menunjukkan penggunaan kelas Pointer untuk menemukan PointerId unik dari setiap kontak input di aplikasi, gunakan PointerDeviceType untuk mengabaikan bentuk input tertentu (misalnya, input mouse) dan menyimpan posisi Pointer. Untuk kode tambahan yang menggunakan kelas Pointer, lihat sampel 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;
        }
    }
}

Keterangan

Kelas Pointer ini digunakan untuk menjelaskan perangkat input. Kelas ini mengidentifikasi perangkat input (seperti stylus, jari, atau mouse) untuk setiap peristiwa penunjuk yang terjadi.

Dalam kebanyakan kasus, kami sarankan Anda mendapatkan info pointer melalui argumen peristiwa penangan peristiwa penunjuk (lihat PointerRoutedEventArgs).

Jika argumen peristiwa tidak secara intrinsik mengekspos detail penunjuk yang diperlukan oleh aplikasi Anda, Anda bisa mendapatkan akses ke data penunjuk yang diperluas melalui metode GetCurrentPoint dan GetIntermediatePoints dari PointerRoutedEventArgs. Sebaiknya gunakan metode ini karena Anda dapat menentukan konteks data penunjuk.

Properti

IsInContact

Mendapatkan nilai yang menentukan apakah perangkat penunjuk bersentuhan dengan sensor atau digitizer pada saat peristiwa dilaporkan.

IsInRange

Mendapatkan nilai yang menunjukkan apakah perangkat penunjuk berada dalam rentang deteksi sensor atau digitizer.

PointerDeviceType

Mendapatkan PointerDeviceType untuk perangkat penunjuk.

PointerId

Mendapatkan pengidentifikasi yang dihasilkan sistem untuk referensi pointer ini.

Berlaku untuk

Lihat juga