AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Touch Gesten von außerhalb des Bildschirms hinein erkennen.
Thema durchsuchen
Ansicht
Themen-Optionen

Touch Gesten von außerhalb des Bildschirms hinein erkennen.

Ein Thema von Zimond · begonnen am 8. Aug 2014 · letzter Beitrag vom 8. Aug 2014
Antwort Antwort
Zimond

Registriert seit: 14. Jul 2007
15 Beiträge
 
#1

Touch Gesten von außerhalb des Bildschirms hinein erkennen.

  Alt 8. Aug 2014, 18:00
Hi. Ich nutze XE5 und beim Austesten der Touchfunktionen auf meinem Win8 Ultrabook hab ich festgestellt das das onGesture Ereignis nicht auftritt wenn die Geste außerhalb des Bildschirms beginnt. Auch der Mauszeiger bewegt sich hierbei nicht. Beruht die Delphi Gestenerkennung nur auf der Mausposition? Wenn ja wäre das ja ziemlich sinnfrei.

Ich möchte ein Menü am Bildschirmrand per Fingerwisch aufrufen und jeder ist es doch bei Touchscreens gewöhnt das man solche Menüs vom Rand "einwischt" wobei man außerhalb des Bildschirms anfängt zu wischen.

Kann man da was einstellen oder fehlt da echte Touch Unterstützung?
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.176 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Touch Gesten von außerhalb des Bildschirms hinein erkennen.

  Alt 8. Aug 2014, 18:08
VCL, richtig?

Der TGestureManager wurde mit Delphi 2010 (glaube ich) eingeführt. Diese Gestenerkennung sind reine Mausbewegungen. Ich finde das Ding auch relativ sinnlos.

Davon abgesehen gibt es die "interaktiven Gesten"- Die sind für Dinge wie den "Zwei Finger-Zoom" und all das. Sollte es nicht gehen, wenn du bsp. an den rechten Rand ein Panel legst und auf diesem im onGesture-Event schaust? Das müsste eigentlich Triggern wenn du keinen TGestureManager damit verknüpft hast. Interessant für das was du willst dürfte auch Touch.TabletOptions.toFlicks sein. Da übernimmt Windows, glaube ich, die Auto-Erkennung ob es ein langsames Schieben oder eben ein "Flick" ist.
  Mit Zitat antworten Zitat
Zimond

Registriert seit: 14. Jul 2007
15 Beiträge
 
#3

AW: Touch Gesten von außerhalb des Bildschirms hinein erkennen.

  Alt 8. Aug 2014, 18:32
ja VCL.+-

Hab außerdem festgestellt das bei benutztem Gestenmanager das normale Klickverhalten falsch ist auf dem Touchscreen. on (mousedown) wird da erst beim zweiten Tap registriert. Kann aber an sonstwas liegen.

Nee, da verzichte ich lieber auf den Rand und machs mit halbtransparenten Button am Rand auf die der Nutzer tappen kann. Im Bildschirm selber kommt man ja mit den üblichen Ereignissen auch zu Rande um Objekte im Spiel zu verschieben durch DragnDrop. Vielleicht bekommt man ja mit XE7 oder so richtigen Zugriff auf den Touchscreen und nicht nur auf die Mausemulation
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.176 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: Touch Gesten von außerhalb des Bildschirms hinein erkennen.

  Alt 8. Aug 2014, 18:43
Hab außerdem festgestellt das bei benutztem Gestenmanager das normale Klickverhalten falsch ist auf dem Touchscreen. on (mousedown) wird da erst beim zweiten Tap registriert. Kann aber an sonstwas liegen.
Such mal hier im Forum, das ist bekannt. Das ist die Handballen-Erkennung. Die kann man gezielt für einzelne Elemente ausschalten, dann hat man sein onMouseDown auch direkt wenn man auf die Scheibe patscht.

Vielleicht bekommt man ja mit XE7 oder so richtigen Zugriff auf den Touchscreen und nicht nur auf die Mausemulation
Dann hast du es nicht richtig verstanden. Der alte TGestureManager ist relativ simples Mausgedöns. Wirf den raus, dann kannst du im onGesture-Event machen was du willst. "Flick nach links? Ok, der Benutzer wischt von rechts hier rein deshalb mache ich jetzt..."

// Anhang:
Zu 1):
http://www.delphipraxis.net/1250060-post7.html
  Mit Zitat antworten Zitat
Zimond

Registriert seit: 14. Jul 2007
15 Beiträge
 
#5

AW: Touch Gesten von außerhalb des Bildschirms hinein erkennen.

  Alt 8. Aug 2014, 19:03
Auch auf die Gefahr einfach nur zu Blöd oder unerfahren zu sein aber wie krieg ich das denn hin das er das onGesture Event ohne den Manager überhaupt ausführt? Der geht bei mir gar nicht erst rein. Hab mal ein simples application.terminate eingesetzt. Weder auf dem Desktop per Maus noch aufm Notebook mit Touchscreen wird das Programm bei irgendeiner Bewegung beendet.
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.176 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: Touch Gesten von außerhalb des Bildschirms hinein erkennen.

  Alt 8. Aug 2014, 20:05
Du musst noch sagen, dass dich bestimmte interaktive Gesten interessieren. In unserem Fall igPan. Wir können das noch auf einen horizontalen "Pan" einschränken. Siehe Bild.

Setze im onGesture-Event die übergebene Referenz "Handled" noch auf True sonst wird die Geste an die Parent-Komponenten weitergereicht und meistens will man das nicht.

Die Windows-Flick-Events bekommt man anscheinend nicht ohne weiteres
Du müsstest also selbst schauen, ab wann es für dich ein "langsames Schieben" und wann ein "schneller Flick" ist.
Miniaturansicht angehängter Grafiken
touch.png  
  Mit Zitat antworten Zitat
Zimond

Registriert seit: 14. Jul 2007
15 Beiträge
 
#7

AW: Touch Gesten von außerhalb des Bildschirms hinein erkennen.

  Alt 8. Aug 2014, 20:51
ok, ich hatte bisher das Hauptformular benutzt was keine Reaktion ausgespuckt hat. Mit einem Panel klappt es jetzt mit dem Event. Mit dem Ansatz kann ich erstmal weiter machen. Vielen Dank.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:06 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz