PointerPointProperties Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
- 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
- Windows.UI.Input
- Properties
- Windows.Devices.Input
- Windows.UI.Core
- Windows.UI.Input.Inking
- Windows.UI.Xaml.Input
- TypedEventHandler<TSender,TResult>
- Benutzerdefinierte Benutzerinteraktionen
- UX-Richtlinien für benutzerdefinierte Benutzerinteraktionen
- Richtlinien zum Entwerfen von Toucheingaben
- Beispiel für den Benutzerinteraktionsmodus
- Beispiel für visuelle Fokuselemente
- Eingabe: Beispiel für Gerätefunktionen
- Eingabe: vereinfachtes Freihandbeispiel
- Eingabe: Beispiel für Windows 8-Bewegungen
- Eingabe: Beispiel für XAML-Benutzereingabeereignisse
- Beispiel für XAML-Bildlauf, Schwenken und Zoomen
- Beispiel für die DirectX-Fingereingabe
- Eingabe: Beispiel für Manipulationen und Gesten (C++)
- Eingabe: Beispiel für Fingereingabe-Treffertests
- Beispiel für die Eingabequellenidentifikation
- Beispiel für Fingereingabeeinschleusung
- Win32–Beispiel für Touchtreffertests