warum gibt es klicken, wenn es schon drücken gibt?
Da kann man mit etwas überlegen eigentlich selber drauf kommen:
- Drücken: das Ereignis wird sofort beim ersten Drücken der Schaltfläche ausgelöst,
egal wie lange man die Schaltfläche dann noch weiter betätigt
- Klicken: das Ereignis wird erst beim Loslassen der Schaltfläche ausgelöst,
genauer: nur wenn man innerhalb der Schaltfläche den Finger vom Bildschirm nimmt
bzw. die linke Maustaste loslässt.
- Loslassen: das Ereignis wird beim Loslassen der Schaltfläche ausgelöst,
auch wenn man den Bildschirm erst außerhalb der Schaltfläche losläßt.
Bei Klicken kann man es sich also noch während dem Drücken überlegen, ob man die Funktion
wirklich auslösen will. Wenn doch nicht, dann einfach gedrückt nach außerhalb der Schaltfläche
fahren und da erst loslassen, dann wird das Ereignis "bei Klicken" nicht ausgelöst.
Man kann z.B. als Tooltip-Ersatz sowas realisieren:
Bei Drücken einen Hilfetext einblenden, bei Klicken die eigentliche Schaltflächenfunktion aufrufen
und bei Loslassen den Hilfetext wieder ausblenden.
Interessant bei Klicken und Loslassen ist, daß bei Drücken und gedrückt nach außerhalb der
Schaltfläche fahren die Schaltflächen-Darstellung schon zur ungedrückt-Darstellung "zurückschnapt",
das Eregnis aber erst beim tatsächlichen Loslassen des Bildschirms ausgelöst wird.
Zumindest bei den mir bekannten Touchpanels ist es egal, wie lang die Zeitspanne zwischen Drücken
und Loslassen ist, beim Loslassen innerhalb der Schaltfläche wird dann "bei Klicken" ausgeführt.
Aus diesen Gründen benutze ich lieber das
Klicken-Ereignis als das Drücken-Ereignis. Vor allem
bei Bildwechseln. Dann ist ziemlich sicher, daß beim Bildaufbau des aufgerufenen Bildes keine
Stelle des Bildschirms mehr berührt ist, wo dann ja eine andere Schaltfläche auftauchen könnte.
Allerdings scheint es mir bei Touchpanels so, daß beim kurzen Klicken die Stelle, wo losgelassen
wird, von der Stelle, wo zuerst der Bilschirm berührt wurde, nicht allzu weit entfernt sein darf.
Deshalb ist es manchmal beim Touchpanel-Bedienen mit Handschuhen schwierig, die "bei Klicken"-
Funktion auszulösen. "Bei Drücken" kann man auch mit fettem Daumen leicht auslösen, Hauptsache
die Schaltfläche lag mit im berührten Bereich.
Wenn man die Unterschiede bei Drücken, Klicken und Loslassen genauer kennenlernen will, dann kann
man das doch einfach ausprobieren und sich z.B. ein Testbild dafür erstellen.
Hier ist ein solches Touchtest-Bild als Screenshot zu sehen.
Wie funktioniert das?
- Panel-interne UInt-Variable "TouchTest_Status", Startwert 0
- eine Schaltfläche, Ereignisse
- Klicken: SetzeWert, "TouchTest_Status", 3
- Drücken: SetzeWert, "TouchTest_Status", 1
- Loslassen: SetzeWert, "TouchTest_Status", 2
- das Bild mit der Schaltfläche, Ereignis Aufgebaut: SetzeWert, "TouchTest_Status", 0
- Textfeld "gedrückt", Sichtbarkeit: (o) Sichtbar im Bereich 1 bis 1, Variable "TouchTest_Status"
- Textfeld "losgelassen", Sichtbarkeit: (o) Sichtbar im Bereich 2 bis 3, Variable "TouchTest_Status"
- Textfeld "geklickt", Sichtbarkeit: (o) Sichtbar im Bereich 3 bis 3, Variable "TouchTest_Status"
- ein Ausgabefeld für die Variable "TouchTest_Status"
btw.
Mir fällt gerade auf, das im WCF2008SP2-ES in Variablenfeldern nur der Variablenname ohne
den Variablenordner angezeigt wird. Ich bilde mir ein, bei WCF2007 war immer der komplette Pfad des
Variablennamens angezeigt, habe aber gerade kein WCF2007 zur Verfügung, um das zu verifizieren.
Gruß
Harald