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
- Наследование
- Атрибуты
Требования к 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, всегда используют контекст приложения. |
Применяется к
См. также раздел
- Windows.UI.Input
- Windows.Devices.Input
- Windows.UI.Core
- Windows.UI.Input.Inking
- Windows.UI.Xaml.Input
- TypedEventHandler<TSender,TResult>
- Настраиваемые взаимодействия с пользователем
- Рекомендации по пользовательскому интерфейсу для пользовательских взаимодействий с пользователем
- Рекомендации по проектированию сенсорных функций
- Пример режима взаимодействия с пользователем
- Пример визуальных элементов фокуса
- Ввод: пример возможностей устройства
- Ввод: пример упрощенного рукописного ввода
- Ввод: пример жестов в Windows 8
- Ввод: пример событий пользовательского ввода на XAML
- Пример прокрутки, сдвига и масштабирования XAML
- Пример сенсорного ввода в DirectX
- Ввод: пример управления и жестов (C++)
- Ввод: пример тестирования сенсорного ввода
- Пример идентификации источника входных данных
- Пример внедрения касания
- Пример тестирования нажатия на касание Win32
- Базовый пример входных данных (Windows 10)