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(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
- 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. |