Pointer 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 grundlegende Eigenschaften für den Eingabezeiger bereit, der einem einzelnen Maus-, Stift-/Stift- oder Touchkontakt zugeordnet ist.
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
- 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
Das folgende Codebeispiel zeigt die Verwendung der Pointer-Klasse, um die eindeutige PointerId jedes Eingabekontakts in einer App zu finden, pointerDeviceType zu verwenden, um bestimmte Eingabeformen (z. B. Mauseingabe) zu ignorieren und die Zeigerpositionen zu speichern. Zusätzlichen Code, der die Pointer-Klasse verwendet, finden Sie im Eingabebeispiel.
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;
}
}
}
Hinweise
In den meisten Fällen wird empfohlen, Zeigerinformationen über das Ereignisargument der Zeigerereignishandler im ausgewählten Sprachframework abzurufen (Windows-App mit JavaScript, UWP-App mit C++, C# oder Visual Basic oder UWP-App mit DirectX mit C++).
Wenn das Ereignisargument die für Ihre App erforderlichen Zeigerdetails nicht intrinsisch verfügbar macht, können Sie über die Methoden GetCurrentPoint und GetIntermediatePoints von PointerRoutedEventArgs Zugriff auf erweiterte Zeigerdaten erhalten. Es wird empfohlen, diese Methoden zu verwenden, da Sie den Kontext der Zeigerdaten angeben können.
Die statischen PointerPoint-MethodenGetCurrentPoint und GetIntermediatePoints verwenden immer den Kontext der App. Der Zeiger ist eine abstrakte Klasse, die verwendet wird, um ein Eingabegerät zu beschreiben. Diese Klasse identifiziert das Eingabegerät (z. B. Eingabestift, Finger oder Maus) für jedes zeigerereignis, das auftritt.
Eigenschaften
IsInContact |
Ruft einen Wert ab, der bestimmt, ob das Zeigergerät zum Zeitpunkt der Ereignismeldung mit einem Sensor oder Digitalisierer in Kontakt war. |
IsInRange |
Ruft einen Wert ab, der angibt, ob sich das Zeigergerät innerhalb des Erkennungsbereichs eines Sensors oder Digitalisierers befindet. |
PointerDeviceType |
Ruft pointerDeviceType für das Zeigergerät ab. |
PointerId |
Ruft den vom System generierten Bezeichner für diesen Zeigerverweis ab. |