Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.084 Beiträge
 
Delphi 12 Athens
 
#11

AW: Enter oder nicht Enter...

  Alt 5. Jun 2022, 23:54
Die Standardfunktionalität von <Return> in einem Memo würde ich nicht entfernen (zumindest nicht wenn WantReturn auf True steht). Das wird nach 35 Jahren Windows einfach erwartet. Für die anderen Controls kann man das ja machen und bei <Enter> bzw. <Return> in das nächste Eingabefeld springen. Allerdings würde ich das vorhandene <Tab>-Verhalten dann auch nicht wegnehmen. Viele haben sich ja mittlerweile daran gewöhnt und jüngere würden kaum auf die Idee kommen, mit <Return> oder <Enter> zum nächsten Control zu wandern.

So gesehen ist das Verlassen des Controls - insbesondere des Memos - ein guter Hinweis für den Abschluss der Eingabe in dem Control. Da bietet sich auf den ersten Blick das OnExit-Event an. Der wird zwar nicht getriggert, wenn das Control das einzige mit TabStop = True ist, aber das ist in der Regel ja eher selten der Fall.

Fazit: Bei einem Memo mit WantReturn = True würde ich das <Return> dem Memo überlassen (schließlich fragt es ja explizit danach), während bei anderen Controls bei <Return> das nächste Control angesprungen wird. In allen Fällen sollte die Auswertung im OnExit passieren. Damit bekommt man dann auch die Fälle mit, bei denen der Anwender per Maus, Shortcut oder Accelerator zu einem anderen Control wechselt. Für Spezialfälle wie Wechsel zu einem anderen Form oder einer anderen Anwendung müsste man halt festlegen, ob das als Eingabeabschluss gewertet werden soll oder nicht.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat