Поделиться через


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.

В большинстве случаев мы рекомендуем получать сведения о указателе с помощью аргумента события обработчиков событий указателя в выбранной языковой платформе.

Если аргумент события не предоставляет встроенные сведения о указателе, необходимые вашему приложению, вы можете получить доступ к расширенным данным указателя с помощью методов GetCurrentPoint и GetIntermediatePointspointerRoutedEventArgs. Используйте эти методы для указания контекста данных указателя.

Статические методы PointerPoint , GetCurrentPoint и GetIntermediatePoints, всегда используют контекст приложения.

Примечание

Этот класс не является гибким. Это означает, что необходимо учитывать его модель потоков и поведение маршалинга. Дополнительные сведения см. в разделах Потоки и маршалинг (C++/CX) и Использование среда выполнения Windows объектов в многопоточной среде (.NET).

Свойства

FrameId

Возвращает идентификатор входного кадра.

IsInContact

Возвращает значение, указывающее, касается ли устройство ввода (сенсорный ввод, перо или перо) поверхности дигитайзера или нажатие кнопки мыши.

PointerDevice

Возвращает сведения об устройстве, связанном с указателем ввода.

PointerId

Возвращает уникальный идентификатор для входного указателя.

Position

Возвращает расположение входных данных указателя в координатах клиента.

Properties

Возвращает расширенные сведения о указателе ввода.

RawPosition

Возвращает клиентские координаты указателя ввода, сообщаемые устройством ввода.

Timestamp

Возвращает время, когда входные данные были введены.

Методы

GetCurrentPoint(UInt32)

Извлекает сведения о положении и состоянии для указанного указателя.

В большинстве случаев рекомендуется получать сведения о указателе с помощью аргумента события обработчиков событий указателя на выбранной языковой платформе (приложение Windows на javaScript, приложение UWP на C++, C# или Visual Basic или приложение UWP, использующее DirectX с C++).

Если аргумент события не предоставляет встроенные сведения о указателе, необходимые вашему приложению, вы можете получить доступ к расширенным данным указателя с помощью методов GetCurrentPoint и GetIntermediatePointspointerRoutedEventArgs. Используйте эти методы для указания контекста данных указателя.

Статические методы PointerPoint , GetCurrentPoint и GetIntermediatePoints, всегда используют контекст приложения.

GetCurrentPoint(UInt32, IPointerPointTransform)

Извлекает преобразованные сведения для указанного указателя.

В большинстве случаев рекомендуется получать сведения о указателе с помощью аргумента события обработчиков событий указателя на выбранной языковой платформе (приложение Windows на javaScript, приложение UWP на C++, C# или Visual Basic или приложение UWP, использующее DirectX с C++).

Если аргумент события не предоставляет встроенные сведения о указателе, необходимые вашему приложению, вы можете получить доступ к расширенным данным указателя с помощью методов GetCurrentPoint и GetIntermediatePointspointerRoutedEventArgs. Используйте эти методы для указания контекста данных указателя.

Статические методы PointerPoint, GetCurrentPoint и GetIntermediatePoints, всегда используют контекст приложения.

GetIntermediatePoints(UInt32)

Извлекает сведения о положении и состоянии указанного указателя от последнего события указателя до текущего события указателя включительно.

В большинстве случаев рекомендуется получать сведения о указателе с помощью аргумента события обработчиков событий указателя на выбранной языковой платформе (приложение Windows на javaScript, приложение UWP на C++, C# или Visual Basic или приложение UWP, использующее DirectX с C++).

Если аргумент события не предоставляет встроенные сведения о указателе, необходимые вашему приложению, вы можете получить доступ к расширенным данным указателя с помощью методов GetCurrentPoint и GetIntermediatePointspointerRoutedEventArgs. Используйте эти методы для указания контекста данных указателя.

Статические методы PointerPoint, GetCurrentPoint и GetIntermediatePoints, всегда используют контекст приложения.

GetIntermediatePoints(UInt32, IPointerPointTransform)

Извлекает преобразованные сведения о положении и состоянии для указанного указателя от последнего события указателя до текущего события указателя включительно.

В большинстве случаев рекомендуется получать сведения о указателе с помощью аргумента события обработчиков событий указателя на выбранной языковой платформе (приложение Windows на javaScript, приложение UWP на C++, C# или Visual Basic или приложение UWP, использующее DirectX с C++).

Если аргумент события не предоставляет встроенные сведения о указателе, необходимые вашему приложению, вы можете получить доступ к расширенным данным указателя с помощью методов GetCurrentPoint и GetIntermediatePointspointerRoutedEventArgs. Используйте эти методы для указания контекста данных указателя.

Статические методы PointerPoint, GetCurrentPoint и GetIntermediatePoints, всегда используют контекст приложения.

Применяется к

См. также раздел