![]() |
Touch Gesten von außerhalb des Bildschirms hinein erkennen.
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? :pale: 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? |
AW: Touch Gesten von außerhalb des Bildschirms hinein erkennen.
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. |
AW: Touch Gesten von außerhalb des Bildschirms hinein erkennen.
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 :roll: |
AW: Touch Gesten von außerhalb des Bildschirms hinein erkennen.
Zitat:
Zitat:
Delphi-Quellcode:
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..."
TGestureManager
// Anhang: Zu 1): ![]() |
AW: Touch Gesten von außerhalb des Bildschirms hinein erkennen.
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.
|
AW: Touch Gesten von außerhalb des Bildschirms hinein erkennen.
Liste der Anhänge anzeigen (Anzahl: 1)
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. |
AW: Touch Gesten von außerhalb des Bildschirms hinein erkennen.
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.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz