PointerPoint Kelas

Definisi

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

public ref class PointerPoint sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.None)]
class PointerPoint final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.None)]
public sealed class PointerPoint
Public NotInheritable Class PointerPoint
Warisan
Object Platform::Object IInspectable PointerPoint
Atribut

Persyaratan Windows

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

Contoh

Dalam contoh berikut, kami mengkueri berbagai properti pointer menggunakan objek PointerPoint.

String queryPointer(PointerPoint ptrPt)
{
    String details = "";

    switch (ptrPt.PointerDevice.PointerDeviceType)
    {
        case Windows.Devices.Input.PointerDeviceType.Mouse:
            details += "\nPointer type: mouse";
            break;
        case Windows.Devices.Input.PointerDeviceType.Pen:
            details += "\nPointer type: pen";
            if (ptrPt.IsInContact)
            {
                details += "\nPressure: " + ptrPt.Properties.Pressure;
                details += "\nrotation: " + ptrPt.Properties.Orientation;
                details += "\nTilt X: " + ptrPt.Properties.XTilt;
                details += "\nTilt Y: " + ptrPt.Properties.YTilt;
                details += "\nBarrel button pressed: " + ptrPt.Properties.IsBarrelButtonPressed;
            }
            break;
        case Windows.Devices.Input.PointerDeviceType.Touch:
            details += "\nPointer type: touch";
            details += "\nrotation: " + ptrPt.Properties.Orientation;
            details += "\nTilt X: " + ptrPt.Properties.XTilt;
            details += "\nTilt Y: " + ptrPt.Properties.YTilt;
            break;
        default:
            details += "\nPointer type: n/a";
            break;
    }

    GeneralTransform gt = Target.TransformToVisual(page);
    Point screenPoint;

    screenPoint = gt.TransformPoint(new Point(ptrPt.Position.X, ptrPt.Position.Y));
    details += "\nPointer Id: " + ptrPt.PointerId.ToString() +
        "\nPointer location (parent): " + ptrPt.Position.X + ", " + ptrPt.Position.Y +
        "\nPointer location (screen): " + screenPoint.X + ", " + screenPoint.Y;
    return details;
}
String queryPointer(PointerPoint ptrPt)
{
    String details = "";

    switch (ptrPt.PointerDevice.PointerDeviceType)
    {
        case Windows.Devices.Input.PointerDeviceType.Mouse:
            details += "\nPointer type: mouse";
            break;
        case Windows.Devices.Input.PointerDeviceType.Pen:
            details += "\nPointer type: pen";
            if (ptrPt.IsInContact)
            {
                details += "\nPressure: " + ptrPt.Properties.Pressure;
                details += "\nrotation: " + ptrPt.Properties.Orientation;
                details += "\nTilt X: " + ptrPt.Properties.XTilt;
                details += "\nTilt Y: " + ptrPt.Properties.YTilt;
                details += "\nBarrel button pressed: " + ptrPt.Properties.IsBarrelButtonPressed;
            }
            break;
        case Windows.Devices.Input.PointerDeviceType.Touch:
            details += "\nPointer type: touch";
            details += "\nrotation: " + ptrPt.Properties.Orientation;
            details += "\nTilt X: " + ptrPt.Properties.XTilt;
            details += "\nTilt Y: " + ptrPt.Properties.YTilt;
            break;
        default:
            details += "\nPointer type: n/a";
            break;
    }

    GeneralTransform gt = Target.TransformToVisual(page);
    Point screenPoint;

    screenPoint = gt.TransformPoint(new Point(ptrPt.Position.X, ptrPt.Position.Y));
    details += "\nPointer Id: " + ptrPt.PointerId.ToString() +
        "\nPointer location (parent): " + ptrPt.Position.X + ", " + ptrPt.Position.Y +
        "\nPointer location (screen): " + screenPoint.X + ", " + screenPoint.Y;
    return details;
}

Keterangan

Kelas PointerPoint mengimplementasikan IPointerPoint.

Lihat PointerPointProperties untuk properti yang diperluas yang dapat diakses melalui Properti.

Dalam kebanyakan kasus, kami sarankan Anda mendapatkan info pointer melalui argumen peristiwa penangan peristiwa penunjuk dalam kerangka kerja bahasa yang Anda pilih.

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

Metode PointerPoint statis, GetCurrentPoint dan GetIntermediatePoints, selalu menggunakan konteks aplikasi.

Catatan

Kelas ini tidak tangkas, yang berarti Anda perlu mempertimbangkan model utas dan perilaku marshalingnya. Untuk informasi selengkapnya, lihat Threading dan Marshaling (C++/CX) dan Menggunakan objek Windows Runtime di lingkungan multithreaded (.NET).

Properti

FrameId

Mendapatkan ID bingkai input.

IsInContact

Mendapatkan nilai yang menunjukkan apakah perangkat input (sentuhan, pena/stylus) menyentuh permukaan digitizer, atau tombol mouse ditekan ke bawah.

PointerDevice

Mendapatkan informasi tentang perangkat yang terkait dengan penunjuk input.

PointerId

Mendapatkan pengidentifikasi unik untuk penunjuk input.

Position

Mendapatkan lokasi input pointer dalam koordinat klien.

Properties

Mendapatkan informasi yang diperluas tentang penunjuk input.

RawPosition

Mendapatkan koordinat klien dari penunjuk input seperti yang dilaporkan oleh perangkat input.

Timestamp

Mendapatkan waktu ketika input terjadi.

Metode

GetCurrentPoint(UInt32)

Mengambil informasi posisi dan status untuk penunjuk yang ditentukan.

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 pointer yang diperlukan oleh aplikasi Anda, Anda bisa mendapatkan akses ke data pointer yang diperluas melalui metode GetCurrentPoint dan GetIntermediatePoints dari PointerRoutedEventArgs. Gunakan metode ini untuk menentukan konteks data penunjuk.

Metode PointerPoint statis, GetCurrentPoint dan GetIntermediatePoints, selalu menggunakan konteks aplikasi.

GetCurrentPoint(UInt32, IPointerPointTransform)

Mengambil informasi yang diubah untuk penunjuk yang ditentukan.

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 pointer yang diperlukan oleh aplikasi Anda, Anda bisa mendapatkan akses ke data pointer yang diperluas melalui metode GetCurrentPoint dan GetIntermediatePoints dari PointerRoutedEventArgs. Gunakan metode ini untuk menentukan konteks data penunjuk.

Metode PointerPoint statis, GetCurrentPoint dan GetIntermediatePoints, selalu menggunakan konteks aplikasi.

GetIntermediatePoints(UInt32)

Mengambil informasi posisi dan status untuk penunjuk yang ditentukan, dari peristiwa penunjuk terakhir hingga dan termasuk peristiwa penunjuk saat ini.

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 pointer yang diperlukan oleh aplikasi Anda, Anda bisa mendapatkan akses ke data pointer yang diperluas melalui metode GetCurrentPoint dan GetIntermediatePoints dari PointerRoutedEventArgs. Gunakan metode ini untuk menentukan konteks data penunjuk.

Metode PointerPoint statis, GetCurrentPoint dan GetIntermediatePoints, selalu menggunakan konteks aplikasi.

GetIntermediatePoints(UInt32, IPointerPointTransform)

Mengambil posisi yang diubah dan informasi status untuk penunjuk yang ditentukan, dari peristiwa penunjuk terakhir hingga dan termasuk peristiwa penunjuk saat ini.

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 pointer yang diperlukan oleh aplikasi Anda, Anda bisa mendapatkan akses ke data pointer yang diperluas melalui metode GetCurrentPoint dan GetIntermediatePoints dari PointerRoutedEventArgs. Gunakan metode ini untuk menentukan konteks data penunjuk.

Metode PointerPoint statis, GetCurrentPoint dan GetIntermediatePoints, selalu menggunakan konteks aplikasi.

Berlaku untuk

Lihat juga