PointerPointProperties 类

定义

PointerPoint 对象提供扩展属性。

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

如果事件参数不公开应用所需的指针详细信息,则可以通过 getCurrentPoint 和 getIntermediatePoints 方法或 currentPointintermediatePoints 属性从事件参数访问扩展指针数据。 建议使用 getCurrentPointgetIntermediatePoints 方法,因为您可以指定指针数据的上下文。

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

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

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

注解

PointerPointProperties 类实现 IPointerPointProperties。

注意

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

Microsoft 交互式输入设备体系结构的核心基于通用串行总线 (USB) 人接口设备的标准设备类定义 (HID) ,该定义由 实现者论坛公司定义。

通用串行总线 (USB) 人机接口设备 (HID) 标准定义了人类用于将数据直接输入计算机的人机接口设备 (HID) 的配置和通信协议,例如键盘、鼠标设备、游戏杆和虚拟现实设备。 (有关 USB HID 标准的详细信息,请参阅 USB 实现者论坛 网站。)

尽管 Windows 输入体系结构的核心基于通用串行总线 (USB) 人机接口设备 (HID) 标准,但该体系结构并不局限于通用串行总线 (USB) 设备。 输入体系结构还支持串行端口设备、i8042 端口设备和专有输入设备。

属性

ContactRect

获取通常从触摸输入) (接触区域的边框。

ContactRectRaw

通常从触摸输入) 获取原始输入 (的边框。

IsBarrelButtonPressed

获取一个值,该值指示是否按下笔/触笔设备的筒形按钮。

IsCanceled

获取一个值,该值指示指针设备是否取消了输入。

IsEraser

获取一个值,该值指示输入是否来自笔橡皮擦。

IsHorizontalMouseWheel

获取一个值,该值指示输入是否来自鼠标倾斜滚轮。

IsInRange

获取一个值,该值指示指针设备是否在传感器或数字化器的检测范围内, (指针继续存在) 。

IsInverted

获取一个值,该值指示数字化器笔是否反转。

IsLeftButtonPressed

获取一个值,该值指示指针输入是否由输入设备的主操作模式触发。

IsMiddleButtonPressed

获取一个值,该值指示指针输入是否由输入设备的第三个操作模式触发。

IsPrimary

获取一个值,该值指示在注册多个指针时输入是否来自主指针。

IsRightButtonPressed

获取一个值,该值指示指针输入是否由辅助操作模式触发 (是否受支持) 输入设备。

IsXButton1Pressed

获取一个值,该值指示指针输入是否由 XButton1) 的第一个扩展鼠标按钮 (触发。

IsXButton2Pressed

获取一个值,该值指示指针输入是否由 XButton2) (第二个扩展鼠标按钮触发。

MouseWheelDelta

获取一个值 (设备) 报告的原始值,该值指示上一个指针事件中滚轮按钮输入的变化。

Orientation

获取与数字化器) 表面垂直的 z 轴 (指针设备主轴的逆时针旋转角度。 值为 0.0 度表示设备面向数字化器的顶部。

PointerUpdateKind

获取指针状态更改的类型。

Pressure

获取一个值,该值指示指针设备通常 (笔/触笔) 在数字化器表面上施加的力。

TouchConfidence

获取一个值,该值指示指针设备是否拒绝了触摸接触。

Twist

获取笔设备绕其主轴的顺时针旋转度 (,例如当用户用手指旋转笔) 时。

XTilt

获取 Y-Z 平面与包含 Y 轴的平面与输入设备 (通常为笔/触笔) 的平面之间的平面角度。

YTilt

获取 X-Z 平面与包含 X 轴的平面和输入设备 (通常为笔/触笔) 的轴之间的平面角度。

ZDistance

获取指针与屏幕表面的 z 坐标 (或距离) ,以与设备无关的像素为单位。

方法

GetUsageValue(UInt32, UInt32)

获取原始输入的人机接口设备 (HID) 使用值。

HasUsage(UInt32, UInt32)

获取一个值,该值指示指针设备的输入数据是否包含指定的人机接口设备 (HID) 使用情况信息。

适用于

另请参阅