Перейти к содержанию
Fire Monkey от А до Я
  • 0

Использование жестов при развернутом окне Metropolis


Вячеслав

Вопрос

Всем доброго дня! Озадачился работой с жестами и все было хорошо, жесты ловятся, выводятся в Мемо, как в хелпе. НО: когда форма выводится в стиле Metropolis (на полный экран, значков закрытия, сворачивания и разворачивания программы нет), то жесты почему-то отваливаются, Мемо ничего не выводит, событие OnGesture не срабатывает.

Пишу под сенсорный экран компа. Версия Rad Studio XE5

Никто не сталкивался с таким?

Ссылка на комментарий

Рекомендуемые сообщения

  • 0

Отпишусь, пожалуй, подробнее. Сегодня более внимательно исследовал проблему, в итоге жесты перестают отлавливаться FireMonkey в режиме, когда у формы BorderStyle стоит значение bsNone. Т.е. не важно, развернуто окно или нет, но если нет значков закрыть/свернуть/развернуть, то жесты не работают. По всем канонам форума наваял простенькое приложение, в котором видны симптомы. Также проверил на VCL - там все в порядке, проблемы только с FireMonkey.

FM_Gestures.zip

Ссылка на комментарий
  • 0

Ярослав, добрый день! Думаю, с моей стороны назойливо спрашивать, но Вы смотрели проект? Просто у меня сейчас стоит дилемма о том, отказываться ли от жестов или от полноэкранного режима отображения. Либо искать обходные пути, вроде задания координат и размеров формы при запуске.

Ссылка на комментарий
  • 0

Добрый вечер, Ярослав! Хочу поделиться еще одним интересным фактом: сегодня проверил данную проблему на другом компьютере, версия RAD Studio XE3 и все завелось без проблем. Таким образом начинаю сомневаться в том, что это баг ФМ, возможно, просто на моей машине по каким-то причинам на XE5 не хотят запускаться жесты при bsNone. Быть может не хватает каких-либо библиотек. Не подскажете, каким образом это лучше всего проверить? 

Ссылка на комментарий
  • 0

Ура, проблема решена! Вернее, глюк остался, но теперь его влияние локализовано. Для меня важным было использование жестов при полноэкранном режиме отображения без рамки. В Delphi XE7 это достигается путем установки свойства формы FullScreen в True, при этом BorderStyle необходимо оставить Sizeable. Тогда жесты работают.

Ссылка на комментарий
  • 0

Жесты могут также отвалиться, если вы включите свойство формы Transparency. Немаловажно то, что оно плохо дружит со многими функциями WinAPI. Да, проблема актуальна

Изменено пользователем МихаилЪ чайковЪ
Ссылка на комментарий
  • 0

Похоже, указанная проблема осталась и в Delphi 10 Seattle и в Delphi 10.1 Berlin. Или она возникает еще от каких-то причин, мне неведомых. Тоже хотел сделать приложение для сенсорного стола - жесты не работают в режиме Fullscreen или при установке свойства BorderStyle=None. Что же делать? 

Ссылка на комментарий
  • 0

Забавно, вопрос был поднят 7 (семь !!!) лет назад, вышло не одно обновление среды разработки, у вот у меня с Delphi 11 та же беда - если таргет Windows и у формы свойство Fullscreen = True, жесты мышью не работают. В оконном режиме и с таргетом Андроид таких проблем нет. Решения не нашел. 

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Похожий контент

    • Автор Alesk
      Как подключить gesturemanager1 к кнопке созданной в runtime?
      Когда пишу эту строчку
      izm[ii].Touch.GestureManager:=GestureManager1; ругается на Gesturemanager1
      izm[ii] - массив из tbutton
    • Автор Алекс
      Добрый день!
      Однажды на форуме обсуждалась тема как сделать переключение вкладок TabControl  с анимацией через TActionList.
      Сейчас возникла необходимость переключать вкладки через жест pan? т.е. чтобы вкладка двигалась за пальцем пользователя (как это сделано практически во всех мобильных приложениях, например в фейсбуке. Ниже скрин, на котором показаны по половине обе вкладки, они в этот момент перетаскиваются пальцем).
      Это реально сделать? Если да, то как? Я уже подозреваю, что табом такого не сделаешь, а только широкой панелью, разделенное на сектора.

    • Автор dreamix
      День добрый, господа!

      Пытаюсь реализовать довольно простую вещь с точки зрения функциональности интерфейса для мобильных устройств. А именно:
      В вертикально прокручиваемом блоке расположить блоки с горизонтальной прокруткой содержимого. Примерно как сейчас это выглядит в Гугл Плей.
      Но получается некоторая фигня, так как внутренние блоки (с горизонтальной прокруткой) перекрывают вертикальную прокрутку родителя.
      Причем когда начинаешь играться со свойствами скролбоксов, от результата немного мозг подтекает

      Пробовал различные варианты комбинаций свойств HitTest и igiPan (стоит по умолчанию) для внутренних скролов.
      Поведение несколько меняется (в том числе и где происходит касание внутри скролов - на объектах или на пустом месте), но необходимый эффект не достигается.

      Самый дельный вариант получается если передавать изменение Y-координат в событии OnGesture igiPan на объектах (!) внутри скроллов и переносить их на Viewport вертикального скролла. Но в таком случае не работает AniCalculations. При некоторых вариантах можно также  выставить HitTest - Fasle объектам внутри горизонтальных скроллов. Скроллы  начинают работать, но тогда теряется доступ к объектам. https://cloud.mail.ru/public/BYZ7/w957wUHEN
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...