Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Решение проблем с событиями жестов в приложениях Delphi XE7 на устройствах с сенсорным управлением

Delphi , ОС и Железо , Windows

Вопрос разработчиков, работающих с сенсорными интерфейсами в приложениях на Delphi, зачастую связан с использованием событий жестов. В частности, в Delphi XE7 доступны различные жесты, такие как igiZoom, igiPan или igiRotate, которые позволяют создавать интерактивные приложения, реагирующие на жесты пальцев пользователя.

Проблема

Разработчик столкнулся с проблемой, при которой, несмотря на то что событие OnGesture срабатывало, идентификатор жеста EventInfo.GestureID всегда возвращал значение 0. Это мешало корректной обработке жестов приближения (igiZoom) и перемещения (igiPan). Важно отметить, что разработка велась в среде Delphi XE7, а тестирование проводилось на устройстве с сенсорным управлением под управлением Windows 8.1.

Пример кода

procedure TForm1.GISGesture(Sender: TObject;
  const EventInfo: TGestureEventInfo; var Handled: Boolean);
begin
  if (EventInfo.GestureID = igipan) or (EventInfo.GestureID = igiZoom) then
  begin
    ShowMessage('zoom or pan');
  end;
end;

В данном примере кода, несмотря на срабатывание события, значение EventInfo.GestureID оставалось равным 0.

Решение

Ключевым моментом в решении проблемы является активация жестов через свойства компонентов, которые должны реагировать на эти жесты. В Delphi XE7 жесты, такие как igiZoom и igiRotate, отключены по умолчанию. Чтобы включить их, необходимо установить соответствующие значения свойства Touch компонента.

Настройки жестов в Object Inspector

Альтернативный ответ и дополнительные шаги

В случае, если проблема не решается, рекомендуется проверить, поддерживает ли устройство сенсорное управление в принципе, и имеет ли оно возможность мультитач. Для этого можно воспользоваться образцами из Delphi, которые обычно устанавливаются в директорию C:\Users\YourUsername\Documents\Embarcadero\Studio\15.0\Samples, или скачать их с официального сайта.

Также стоит помнить, что при отладке через удаленное соединение, как правило, не удается уловить события мультитач. Для корректной работы приложения необходимо запускать исполняемый файл непосредственно на устройстве с сенсорным управлением.

Заключение

При работе с жестами в Delphi XE7 важно помнить об активации соответствующих событий и о возможных ограничениях, связанных с мультитач-устройствами и удаленной отладкой. Следуя этим рекомендациям, разработчики смогут успешно решать возникающие проблемы и создавать интерактивные приложения для устройств с сенсорным управлением.

Создано по материалам из источника по ссылке.

Контекст вопроса связан с решением проблемы, связанной с обработкой событий жестов в приложениях Delphi XE7 на устройствах с сенсорным управлением, когда идентификатор жеста не распознается корректно.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Windows ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-06-16 01:07:43/0.0031042098999023/0