• 0
Авторизация  
МихаилЪ чайковЪ

Как в Windows определить, что на компонент был опущен палец?

Вопросы

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

Уже пробовал использовать

  • LongTap: здесь проблема в том, что длинное нажатие бывает длинным
  • WM_TOUCH не работает
  • Через OnMouseDown не вышло, так как чтобы сработало, нужно пошевелить пальцем, а я хочу, чтобы поставил и заработало

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 ответа на этот вопрос

  • 0

Я буквально позавчера задался здесь этим вопросом, и меня просветили: в обработчиках таких событий, как OnMouseDown или OnMouseUp нужно проверять параметр Shift. При нажатии пальцем он приобретает значение [ssTouch].

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
В ‎24‎.‎01‎.‎2018 в 23:29, Вадим Смоленский сказал:

Я буквально позавчера задался здесь этим вопросом, и меня просветили: в обработчиках таких событий, как OnMouseDown или OnMouseUp нужно проверять параметр Shift. При нажатии пальцем он приобретает значение [ssTouch].

Это хорошо, а будет ли зависеть нажатие пальца от положения курсора мыши? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

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

    • От x11
      У ListBoxItem нужно реализовать вызов контекстного меню.
      На ListBoxItem лежит ImagesViwer с картинкой и у ImagesViwer свойство HitTest отключено.
       
      почитал справку http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Gestures_in_FireMonkey
      сделал как описано:
       
      procedure TfmEditObject.AddPhoto(Image: TBitmap); Var item: TListBoxItem; imageV: TImageViewer; begin item := TListBoxItem.Create(lbPhotos); item.parent := lbPhotos; item.text := ''; item.Width := lbPhotos.Width; item.Touch.GestureManager := GestureManager1; item.Touch.InteractiveGestures := [TInteractiveGesture.LongTap, TInteractiveGesture.DoubleTap]; item.OnGesture := ListBoxItemGesture; imageV := TImageViewer.Create(lbPhotos); imageV.HitTest := False; imageV.Parent := item; imageV.Align := TAlignLayout.Client; imageV.Bitmap.Assign(image); item.SetFocus; end; procedure TfmEditObject.ListBoxItemGesture(Sender: TObject; const EventInfo: TGestureEventInfo; var Handled: Boolean); Var s: string; begin if GestureToIdent(EventInfo.GestureID, s) then ShowMessage( S ); if EventInfo.GestureID = igiLongTap then ShowMessage( Sender.ClassName ); Handled := True; end;  
      Ничего не происходит. На на андроид устройстве, ни на винде.
       
       
      И правильно ли я понял, что для LongTap, т.е. для InteractiveGestures не нужен GestureManager?
       

    • От sinuke
      Привет
      Не понимаю, почему не обрабатывается событие OnGesture на Rectangle в простейшем проекте (project-2). Пару дней назад создал тестовый проектик (project-1), все проверил и все работает отлично. Сегодня создаю простейшие проекты, кидаю один Rectangle, создаю событие OnGesture, в котором делаю какое-нибудь простейшее действие, но оно не обрабатывается. Не могу понять, что я делаю не так. Помогите разобраться.... Примеры прилагаю.
      П.С. Delphi Berlin без апдейта, Android
      project-1.zip
      project-2.zip
  • Последние посетители   0 пользователей онлайн

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