Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Betriebssysteme (https://www.delphipraxis.net/27-betriebssysteme/)
-   -   Eigenheiten von Touch unter Windows 7 (https://www.delphipraxis.net/175570-eigenheiten-von-touch-unter-windows-7-a.html)

Der schöne Günther 1. Jul 2013 17:37

Betriebssystem: Win 7

Eigenheiten von Touch unter Windows 7
 
Wenn ich mit meinem Finger auf einen Button patsche, wird der erst angeklickt, sobald ich den Finger wieder vom Display nehmen. Solange der Finger noch auf dem Glas ist, wird das so behandelt, als hätte ich den Mauszeiger dorthin geschoben, aber noch nicht geklickt.

Kann ich irgendeine Windows-Einstellung setzen, sodass direkt geklickt wird, sobald ich den Finger aufs Glas lege? Ich würde ungern in jedes VCL-Formular eine Sonderbehandlung in Form von "{$IFDEF TOUCH}Wenn der Mauszeiger länger als [Zeitdauer] über der Schaltfläche schwebt, drücke sie{$ENDIF}" stricken :wink:

jaenicke 1. Jul 2013 19:07

AW: Eigenheiten von Touch unter Windows 7
 
Wenn du das so willst, warum willst du das nur bei Touch? Bei der Maus ist das ganz genauso.

Was intern passiert:
Mousedown, dann Mouseup, beides zusammen OnClick, folgt das erneut OnDblClick

Das einzige was du machen kannst, ist OnMouseDown statt OnClick zu nehmen. Dir sollte aber klar sein, dass der normale User ein solches Sonderverhalten nicht erwarten wird und es ihn verwirren dürfte. Deshalb sollte man eine solche Ausnahme von der normalen Bedienung nur in absoluten Sonderfällen machen, wenn es nicht anders geht.

Der schöne Günther 3. Jul 2013 09:17

AW: Eigenheiten von Touch unter Windows 7
 
Dann habe ich es wohl missverständlich geschrieben, denn so ist es nicht:

Hier einmal, was wann feuert:

Maus bewegen: onMouseMove
Maustaste runterdrücken: onMouseDown
Maustaste loslassen: onMouseUp und onClick

Finger außerhalb ansetzen und drüber bewegen: nichts
Finger innerhalb ansetzen und drüber bewegen: onMouseMove, onMouseDown
Finger tippen: onMouseMove (!?!)
Finger loslassen: onMouseDown, onMouseUp und onClick


Konkret geht es mir um einen Art Spinedit, also einen Button der für Hoch/Runterzählen sorgen soll wenn man ihn gedrückt hält. Und das bekomme ich so nicht hin.

Und ja, man könnte argumentieren, dass man ein "Halte gedrückt für kontinuierliches Verändern des Wertes" auch sonst nirgendwo auf Touch-Oberflächen findet. :oops:


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:40 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