Bagikan melalui


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

Persyaratan Windows

Rangkaian perangkat
Windows 10 (diperkenalkan dalam 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (diperkenalkan dalam v1.0)

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

Dalam kebanyakan kasus, kami sarankan Anda mendapatkan info pointer melalui argumen peristiwa penangan peristiwa penunjuk dalam kerangka kerja bahasa yang Anda pilih (aplikasi Windows menggunakan JavaScript, aplikasi UWP menggunakan C++, C#, atau Visual Basic, atau aplikasi UWP menggunakan DirectX dengan C++).

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.

Metode PointerPoint statis, GetCurrentPoint dan GetIntermediatePoints, selalu menggunakan konteks aplikasi. Pointer adalah kelas abstrak yang digunakan untuk menjelaskan perangkat input. Kelas ini mengidentifikasi perangkat input (seperti stylus, jari, atau mouse) untuk setiap peristiwa penunjuk yang terjadi.

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