PointerPoint 类

定义

为与单个鼠标、笔/触笔或触摸接触关联的输入指针提供基本属性。

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
继承
Object Platform::Object IInspectable PointerPoint
属性

Windows 要求

设备系列
Windows 10 (在 10.0.10240.0 中引入)
API contract
Windows.Foundation.UniversalApiContract (在 v1.0 中引入)

示例

在以下示例中,我们使用 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;
}

注解

PointerPoint 类实现 IPointerPoint。

有关可通过属性访问的扩展属性,请参阅 PointerPointProperties

在大多数情况下,我们建议通过所选语言框架中指针事件处理程序的事件参数获取指针信息。

如果事件参数未在本质上公开应用所需的指针详细信息,则可以通过 PointerRoutedEventArgsGetCurrentPointGetIntermediatePoints 方法访问扩展指针数据。 使用这些方法可指定指针数据的上下文。

静态 PointerPoint 方法 GetCurrentPointGetIntermediatePoints 始终使用应用上下文。

注意

此类不敏捷,这意味着需要考虑其线程模型和封送处理行为。 有关详细信息,请参阅线程和封送处理 (C++/CX) 和使用多线程环境中的Windows 运行时对象 (.NET)

属性

FrameId

获取输入帧的 ID。

IsInContact

获取一个值,该值指示输入设备 (触摸、笔/触笔) 触摸数字化器表面,还是按下鼠标按钮。

PointerDevice

获取有关与输入指针关联的设备的信息。

PointerId

获取输入指针的唯一标识符。

Position

获取指针输入在客户端坐标中的位置。

Properties

获取有关输入指针的扩展信息。

RawPosition

获取输入设备报告的输入指针的客户端坐标。

Timestamp

获取输入发生的时间。

方法

GetCurrentPoint(UInt32)

检索指定指针的位置和状态信息。

在大多数情况下,我们建议你通过所选语言框架中的指针事件处理程序的事件参数获取指针信息, (使用 JavaScript 的 Windows 应用、使用 C++、C# 或 Visual Basic 的 UWP 应用,或使用 DirectX 和 C++) 的 UWP 应用。

如果事件参数未在本质上公开应用所需的指针详细信息,则可以通过 PointerRoutedEventArgsGetCurrentPointGetIntermediatePoints 方法访问扩展指针数据。 使用这些方法可指定指针数据的上下文。

静态 PointerPoint 方法 GetCurrentPoint 和 GetIntermediatePoints 始终使用应用上下文。

GetCurrentPoint(UInt32, IPointerPointTransform)

检索指定指针的转换后的信息。

在大多数情况下,我们建议你通过所选语言框架中的指针事件处理程序的事件参数获取指针信息, (使用 JavaScript 的 Windows 应用、使用 C++、C# 或 Visual Basic 的 UWP 应用,或使用 DirectX 和 C++) 的 UWP 应用。

如果事件参数未在本质上公开应用所需的指针详细信息,则可以通过 PointerRoutedEventArgsGetCurrentPointGetIntermediatePoints 方法访问扩展指针数据。 使用这些方法可指定指针数据的上下文。

静态 PointerPoint 方法 GetCurrentPointGetIntermediatePoints 始终使用应用上下文。

GetIntermediatePoints(UInt32)

检索指定指针的位置和状态信息,从最后一个指针事件一直检索并包括当前指针事件。

在大多数情况下,我们建议你通过所选语言框架中的指针事件处理程序的事件参数获取指针信息, (使用 JavaScript 的 Windows 应用、使用 C++、C# 或 Visual Basic 的 UWP 应用,或使用 DirectX 和 C++) 的 UWP 应用。

如果事件参数未在本质上公开应用所需的指针详细信息,则可以通过 PointerRoutedEventArgsGetCurrentPointGetIntermediatePoints 方法访问扩展指针数据。 使用这些方法可指定指针数据的上下文。

静态 PointerPoint 方法 GetCurrentPoint 和 GetIntermediatePoints 始终使用应用上下文。

GetIntermediatePoints(UInt32, IPointerPointTransform)

检索指定指针的转换位置和状态信息,从最后一个指针事件一直检索并包括当前指针事件。

在大多数情况下,我们建议你通过所选语言框架中的指针事件处理程序的事件参数获取指针信息, (使用 JavaScript 的 Windows 应用、使用 C++、C# 或 Visual Basic 的 UWP 应用,或使用 DirectX 和 C++) 的 UWP 应用。

如果事件参数未在本质上公开应用所需的指针详细信息,则可以通过 PointerRoutedEventArgsGetCurrentPointGetIntermediatePoints 方法访问扩展指针数据。 使用这些方法可指定指针数据的上下文。

静态 PointerPoint 方法 GetCurrentPointGetIntermediatePoints 始终使用应用上下文。

适用于

另请参阅