Даже самые серьезные разработчики языка ассемблера, знающие наизусть все сочетания клавиш, не могут спорить с тем фактом, что по мере того, как все больше устройств и их пользователей поддерживают ввод с помощью сенсорного экрана, обработка методов сенсорного взаимодействия в приложениях становится все более важной.
Стандартные элементы управления и шаблоны Windows 8 хорошо работают с сенсорным вводом — если это все, что вы используете, вам не нужно разбираться в технических деталях.
Если вы работаете с классическими приложениями или хотите разработать собственные элементы управления (например, для игры), вам необходимо знать, как правильно обрабатывать сенсорный ввод. Приложения, работавшие под управлением Windows 7, продолжат работать со следующими функциями:
- Если ваше приложение обрабатывает только события мыши, то события касания будут сокращены до них (только событий наведения мыши не будет).
- Если ваше приложение использует события касания Windows 7 (API WM_TOUCH/WM_GESTURE), то эти API по-прежнему доступны.
Если ваше приложение изначально не было разработано для обработки сенсорного ввода, вам также может потребоваться переработать пользовательский интерфейс, чтобы сделать его более удобным для сенсорного управления: увеличить размер элементов управления, удалить ненужные элементы и т. д.
Дизайн для сенсорного управления без сенсорного устройства.
Если у вас нет сенсорных устройств, вы можете опробовать свое настольное приложение или приложение из Магазина Windows в симуляторе Windows 8, который входит в состав Visual Studio 2012 на платформе Windows 8. Эта программа находится в папке C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Simulator\11.0\Microsoft.Windows.Simulator.exe .
В нем можно запустить любое приложение, как в обычном сеансе:
Приложения Магазина Windows 8 также можно запускать непосредственно в симуляторе из Visual Studio:
Сенсорное взаимодействие в Windows 8
Чтобы сделать ваше приложение удобным для пользователя, используемые в нем жесты должны соответствовать стандартным жестам в ОС:Принцип ввода указателя
Одновременная обработка нескольких методов ввода в приложениях может значительно усложнить ситуацию.
К счастью, в Windows 8 Microsoft представила унифицированный ввод с использованием элемента Pointer:
Метод ввода Pointer сочетает в себе методы ввода с помощью мыши, пера и сенсорного ввода и является абстракцией этих методов ввода, что позволяет обрабатывать все методы, написав код только один раз.
События указателя — это самое простое, с чем вы можете столкнуться.
Их можно получить для любого элемента пользовательского интерфейса XAML Windows 8, а также для ICoreWindow. Со стороны HTML5 эти элементы доступны, но их имена немного другие.
Они имеют префикс MS: MSPointerDown, MSPointerMove, MSPointerUp. Эквивалентом событий указателя в Win32 являются сообщения WM_POINTERXXX, которые можно получить с помощью функции обратного вызова окна Win32. По умолчанию в приложениях Win32 сообщения WM_POINTERXXX не включают сообщения мыши.
Чтобы получать по-настоящему объединенные сообщения указателя, необходимо сначала вызвать EnableMouseInPointer(true).
События манипуляции также могут предоставлять информацию о масштабировании, вращении и прокрутке.
Кроме того, они предоставляют данные по инерции.
Их можно настроить с помощью Режим Манипуляции для переключения инерции.
Вы можете разрешить только определенные типы взаимодействия/добавлять ограничения (например, направляющие для преобразования в движение X/Y).
Приложения Магазина Windows 8, написанные на HTML5/JavaScript, могут использовать метод WinRT. Распознаватель жестов для доступа к этим событиям.
Обзор API Windows 8
Если объект, с которым вы работаете, не переключает события жестов, вы можете отправлять события указателя в интерфейс GestureRecouncer. GestureRecouncer будет переключать выбранные события жестов и манипуляций, а также события перетаскивания.
InteractionContext в Win32 является эквивалентом GestureRecouncer в API среды выполнения Windows. Объект Контекст взаимодействия переключатели INTERACTION_CONTEXT_OUTPUT_CALLBACK , связанный с другими жестами и манипуляциями.
Кроме того, в сенсорное приложение можно встроить интерфейс.
Он обеспечивает распознавание рукописного ввода в настольных приложениях и приложениях Магазина Windows 8. Вы также можете вводить события касания из настольных приложений, используя API сенсорного внедрения .
Полную версию статьи можно прочитать на сайте Веб-сайт зоны разработчиков Intel .
Теги: #сенсорные экраны #разработка сайтов #программирование
-
Умные Автомобили: Продолжение Истории
19 Oct, 24