PointerPointProperties Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет расширенные свойства для объекта PointerPoint .
В большинстве случаев мы рекомендуем получать сведения о указателе с помощью обработчиков событий указателей выбранной платформы языка Windows 8 (приложение Windows на javaScript, приложение UWP с помощью C++, C# или Visual Basic или приложение UWP с помощью DirectX с C++).
Если аргумент события не предоставляет сведения о указателе, необходимые вашему приложению, вы можете получить доступ к расширенным данным указателя из аргумента события с помощью методов getCurrentPoint и getIntermediatePoints , а также свойств currentPoint и intermediatePoints . Мы рекомендуем использовать методы getCurrentPoint и getIntermediatePoints , так как можно указать контекст данных указателя.
Статические методы PointerPoint, GetCurrentPoint и GetIntermediatePoints, всегда используют контекст приложения.
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
- Наследование
- Атрибуты
Требования к 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).
Ядро архитектуры интерактивных устройств ввода Майкрософт основано на стандартном определении класса устройств универсальной последовательной шины (USB) для устройства HID, которое определяется На форуме разработчиков, Inc.
Стандарт HID (Универсальная последовательная шина(USB) определяет конфигурацию и протоколы связи для hid-устройств, таких как клавиатуры, мыши, джойстики и устройства виртуальной реальности, которые люди используют для ввода данных непосредственно в компьютер. (Подробные сведения о стандарте USB HID см. на веб-сайте Форума разработчиков USB .)
Хотя ядро архитектуры ввода Windows основано на стандарте HID(HID) универсальной последовательной шины (USB), эта архитектура не ограничивается устройствами универсальной последовательной шины (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. |
Применяется к
См. также раздел
- Windows.UI.Input
- Properties
- Windows.Devices.Input
- Windows.UI.Core
- Windows.UI.Input.Inking
- Windows.UI.Xaml.Input
- TypedEventHandler<TSender,TResult>
- Настраиваемые взаимодействия с пользователем
- Рекомендации по пользовательскому интерфейсу для пользовательского взаимодействия с пользователем
- Рекомендации по проектированию сенсорных функций
- Пример режима взаимодействия с пользователем
- Пример визуальных элементов фокуса
- Ввод: пример возможностей устройства
- Ввод: пример упрощенного рукописного ввода
- Ввод: пример жестов в Windows 8
- Ввод: пример событий пользовательского ввода на XAML
- Пример прокрутки, сдвига и масштабирования XAML
- Пример сенсорного ввода в DirectX
- Ввод: пример управления и жестов (C++)
- Ввод: пример тестирования сенсорного ввода
- Пример идентификации источника входных данных
- Пример внедрения сенсорного ввода
- Пример тестирования нажатия на касание Win32