Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
Delphi 12 Athens
|
AW: Key wird nicht gelöscht, warum?
30. Jan 2018, 13:43
Vorschlag:
Nicht der Button bekommt den Fokus, sondern die Form, also Form.SetFocus
oder besser Form.ActiveControl:=nil;
.
Der Knopf bekommt nicht Default=True. hat der Knopf den Fokus, dann kann Enter/Space/Maus das OnClick normal auslösen.
Space wird im OnKeyPress/Down/Up der Form behandelt. (KeyPreview=False)
Und das ESC kann über Cancel=True eines anderen Buttons oder auch über OnKeyPress/Down/Up der Form behandelt werden.
Die Dialog-Standard-Funktionen (Cancel und Default) werden über die ganze Form/Dialog behandelt.
Nur z.B. Memos behandeln ihr [ENTER] vorher und geben es nicht an die Form weiter.
Wie gesagt, ENTER/ESC haben Sonderaufgaben und werden von Windows bissl anders behandelt. Ist wie beim Strg+Alt+Entf, was sich auch nicht so leicht abschalten/überschreiben lässt.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
Geändert von himitsu (30. Jan 2018 um 13:56 Uhr)
|