Pointer Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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
- 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. |