PointerPointProperties Klasse

Definition

Stellt erweiterte Eigenschaften für ein PointerPoint-Objekt bereit.

In den meisten Fällen wird empfohlen, Zeigerinformationen über die Zeigerereignishandler des ausgewählten Windows 8 Sprachframeworks (Windows-App mit JavaScript, UWP-App mit C++, C# oder Visual Basic oder UWP-App mit DirectX mit C++) abzurufen.

Wenn das Ereignisargument die für Ihre App erforderlichen Zeigerdetails nicht verfügbar macht, können Sie über die Eigenschaften getCurrentPoint und getIntermediatePoints oder currentPoint und intermediatePoints auf erweiterte Zeigerdaten aus dem Ereignisargument zugreifen. Es wird empfohlen, die Methoden getCurrentPoint und getIntermediatePoints zu verwenden, da Sie den Kontext der Zeigerdaten angeben können.

Die statischen PointerPoint-MethodenGetCurrentPoint und GetIntermediatePoints verwenden immer den Kontext der App.

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

Windows-Anforderungen

Gerätefamilie
Windows 10 (eingeführt in 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (eingeführt in v1.0)

Beispiele

Im folgenden Beispiel fragen wir verschiedene erweiterte Zeigereigenschaften mithilfe eines PointerPoint-Objekts ab.

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;
}

Hinweise

Die PointerPointProperties-Klasse implementiert IPointerPointProperties.

Hinweis

Diese Klasse ist nicht agil, was bedeutet, dass Sie das Threadingmodell und das Marshallingverhalten berücksichtigen müssen. Weitere Informationen finden Sie unter Threading and Marshaling (C++/CX) und Using Windows-Runtime objects in a multithreaded environment (.NET).

Der Kern der Architektur der interaktiven Eingabegeräte von Microsoft basiert auf der Standarddefinition der Geräteklasse universal serial bus (USB) für Human Interface Device (HID), die vom Implementers Forum, Inc. definiert wird.

Der HID-Standard (Universal Serial Bus) definiert die Konfigurations- und Kommunikationsprotokolle für HID (Human Interface Device), z. B. Tastaturen, Mausgeräte, Joysticks und Virtual Reality-Geräte, mit denen Menschen Daten direkt in einen Computer eingeben. (Ausführliche Informationen zum USB HID-Standard finden Sie auf der Website des USB Implementers Forum .)

Obwohl der Kern der Windows-Eingabearchitektur auf dem HID-Standard (Universal Serial Bus) basiert, ist die Architektur nicht auf USB-Geräte (Universal Serial Bus) beschränkt. Die Eingabearchitektur unterstützt auch serielle Portgeräte, i8042-Portgeräte und proprietäre Eingabegeräte.

Eigenschaften

ContactRect

Ruft das umschließende Rechteck des Kontaktbereichs ab (in der Regel über die Toucheingabe).

ContactRectRaw

Ruft das begrenzungsende Rechteck der Roheingabe ab (in der Regel aus der Toucheingabe).

IsBarrelButtonPressed

Ruft einen Wert ab, der angibt, ob die Drucktaste des Stift-/Eingabestiftgeräts gedrückt wird.

IsCanceled

Ruft einen Wert ab, der angibt, ob die Eingabe vom Zeigergerät abgebrochen wurde.

IsEraser

Ruft einen Wert ab, der angibt, ob die Eingabe von einem Radierer des Stifts stammt.

IsHorizontalMouseWheel

Ruft einen Wert ab, der angibt, ob die Eingabe von einem Mausrad stammt.

IsInRange

Ruft einen Wert ab, der angibt, ob sich das Zeigergerät innerhalb des Erkennungsbereichs eines Sensors oder Digitalisierers befindet (der Zeiger ist weiterhin vorhanden).

IsInverted

Ruft einen Wert ab, der angibt, ob der Digitizer-Stift invertiert ist.

IsLeftButtonPressed

Ruft einen Wert ab, der angibt, ob die Zeigereingabe durch den primären Aktionsmodus eines Eingabegeräts ausgelöst wurde.

IsMiddleButtonPressed

Ruft einen Wert ab, der angibt, ob die Zeigereingabe durch den tertiären Aktionsmodus eines Eingabegeräts ausgelöst wurde.

IsPrimary

Ruft einen Wert ab, der angibt, ob die Eingabe vom primären Zeiger stammt, wenn mehrere Zeiger registriert werden.

IsRightButtonPressed

Ruft einen Wert ab, der angibt, ob die Zeigereingabe vom sekundären Aktionsmodus (sofern unterstützt) eines Eingabegeräts ausgelöst wurde.

IsXButton1Pressed

Ruft einen Wert ab, der angibt, ob die Zeigereingabe von der ersten erweiterten Maustaste (XButton1) ausgelöst wurde.

IsXButton2Pressed

Ruft einen Wert ab, der angibt, ob die Zeigereingabe durch die zweite erweiterte Maustaste (XButton2) ausgelöst wurde.

MouseWheelDelta

Ruft einen Wert (der vom Gerät gemeldete Rohwert) ab, der die Änderung der Eingabe der Radschaltfläche gegenüber dem letzten Zeigerereignis angibt.

Orientation

Ruft den Drehwinkel gegen den Uhrzeigersinn um die Hauptachse des Zeigergeräts (die Z-Achse, senkrecht zur Oberfläche des Digitalisierers) ab. Ein Wert von 0,0 Grad gibt an, dass das Gerät am oberen Rand des Digitizers ausgerichtet ist.

PointerUpdateKind

Ruft die Art der Zeigerzustandsänderung ab.

Pressure

Ruft einen Wert ab, der die Kraft angibt, die das Zeigergerät (in der Regel ein Stift/Eingabestift) auf die Oberfläche des Digitalisierers ausübt.

TouchConfidence

Ruft einen Wert ab, der angibt, ob das Zeigergerät den Touchkontakt abgelehnt hat.

Twist

Ruft die Drehung eines Stiftgeräts im Uhrzeigersinn in Grad um seine eigene Hauptachse ab (z. B. wenn der Benutzer den Stift mit den Fingern dreht).

XTilt

Ruft den Ebenenwinkel zwischen der Y-Z-Ebene und der Ebene ab, die die Y-Achse und die Achse des Eingabegeräts enthält (in der Regel ein Stift/Eingabestift).

YTilt

Ruft den Ebenenwinkel zwischen der X-Z-Ebene und der Ebene ab, die die X-Achse und die Achse des Eingabegeräts enthält (in der Regel ein Stift/Eingabestift).

ZDistance

Ruft die Z-Koordinate (oder den Abstand) des Zeigers von der Bildschirmoberfläche in geräteunabhängigen Pixeln ab.

Methoden

GetUsageValue(UInt32, UInt32)

Ruft den Verwendungswert des Human Interface Device (HID) der Roheingabe ab.

HasUsage(UInt32, UInt32)

Ruft einen Wert ab, der angibt, ob die Eingabedaten vom Zeigergerät die angegebenen HID-Nutzungsinformationen (Human Interface Device) enthalten.

Gilt für:

Weitere Informationen