Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Radiogroup: Tastatur und Mauseingabe unterscheiden (https://www.delphipraxis.net/151622-radiogroup-tastatur-und-mauseingabe-unterscheiden.html)

Sherlock 26. Mai 2010 10:27

Re: Radiogroup: Tastatur und Mauseingabe unterscheiden
 
Ich bin der letzte, der das behauptet. Aber jede Literatur zur Usability wird Dir genau das sagen "Fokus setzt der Anwender, und sonst keiner". Nur wie schon erwähnt: Investier Deine Zeit halt in so Spielereien, so lange der Rest Deines Produktes gut ist, wird sich keiner daran stören.

Sherlock

Glühwürmchen 26. Mai 2010 10:44

Re: Radiogroup: Tastatur und Mauseingabe unterscheiden
 
Was ich hier nicht verstehe, ist, wo der Unterschied zwischen der Maus-Bedienung und der Tastatur-Bedienung liegt!

Wenn Du in einer Radiogroup einen Radiobutton anklickst, erhält der den Fokus und ist anschließend selektiert.
Wenn Du in einer Radiogroup einen Radiobutton mit der Tastatur ansteuerst, wechselt der Fokus zum jeweils nächsten Radiobutton der Tab-Order-Reihenfolge. Selektieren musst Du ihn aber mit der Leertaste!
Erst nach dem Selektieren hast Du den gleichen Zustand wie nach einem Mausklick.

Wo ist jetzt das Problem?

idefix2 26. Mai 2010 10:50

Re: Radiogroup: Tastatur und Mauseingabe unterscheiden
 
Nein, er wird automatisch durch die Ansteuerung mit der Tastatur selektiert. Mmöglicherweise gibt es eine Eigenschaft, die man setzen kann, damit die Komponente sich anders benimmt, aber beim Standardverhalten braucht man keine Leertaste.

Glühwürmchen 26. Mai 2010 11:32

Re: Radiogroup: Tastatur und Mauseingabe unterscheiden
 
:oops:

sorry, hast recht.

Du könntest immer, wenn der Fokus auf in einer Radiogroup liegt, auf die Steuercodes der Cursor-Tasten abfragen.
Oder alternativ, auf die Eingabe von #13 (Return) warten.
Im Falle eines Mausklicks erhältst Du Mauskoordinaten.


------------------
Übrigens finde ich diese Art der User-Führung auch schön. Sie gestaltet sich aber sehr zeitaufwändig, wenn man versucht, das Ganze absolut wasserdicht zumachen, also so, dass die Benutzerführung immer logisch ist und alle Eventualitäten abgefangen werden. Darunter zählen auch die Situationen, in die ein User kommt, wenn er gewohnheitsmäßig die Maus zur Steuerung verwendet und damit in ein Feld wechselt, dass er zum gegewärtigen Zeitpunkt (nach Deiner Logik) noch nicht anfassen sollte....

idefix2 26. Mai 2010 15:09

Re: Radiogroup: Tastatur und Mauseingabe unterscheiden
 
Das Problem ist, dass der selbe Event ausgelöst wird, wenn man Tastatur oder wenn man die Maus verwendet, und dass ich in diesem Event anscheinend nicht leicht feststellen kann, was es war. Aber mit dem von Lannes geposteten Code sollte das funktionieren - ist halt wirklich im Verhältnis recht aufwändig. Aber wie Du richtig schreibst, ein wirklich durchdachtes Userinterface ist aufwändig.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:23 Uhr.
Seite 2 von 2     12   

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