Delphi-PRAXiS

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 Esc zum Fenster schließen (https://www.delphipraxis.net/216645-esc-zum-fenster-schliessen.html)

Willie1 3. Feb 2025 18:18

Esc zum Fenster schließen
 
Hallo,

eine Kleinigkeit fällt mir auf. Zwei Fenster bsDialog nur zur Information. Ein Button <Schließen> mit ModalResult = mrCancel. Cancel auf true. default false - KeyPreview false.

Das eine Fenster lässt sich mit <Esc> schließen, das andere nicht. Welches Property habe ich übersehen?

Gruß Willie.

dummzeuch 3. Feb 2025 18:19

AW: Esc zum Fenster schließen
 
Das hängt evtl. davon ab, welches Control den Fokus hat. Wenn ich mich recht erinnere, fangen Edit- und Memo-Feldern das Esc ab.

Willie1 3. Feb 2025 18:28

AW: Esc zum Fenster schließen
 
Ach ja,

wo es funktioniert, ist ein ListView, bei dem anderen tatsächlich ein Memo !

Danke für die schnelle Antwort.

if Button1.CanFocus then Button1.SetFocus

himitsu 3. Feb 2025 18:45

AW: Esc zum Fenster schließen
 
Ja, wenn ein aktives Control selbst auf diese Taste reagiert, dann kann das Key-Event vor der Form behandelt/abgefangen werden.

Mit KeyPreview=True und
Delphi-Quellcode:
if Key = VK_ESCAPE
kann oft das dennoch behandelt werden,
außer die aktive Komponente fängt die Taste brutal ab und lässt nichtmal KeyPreview durch. (z.B. TWebBrowser oder Acrobat)


PS: Button.Default=True für Enter-Taste (es wird automatisch Form.ModalResult:=mrOK gesetzt)
und Button.Cancel=True für ESC (hier wird Form.ModalResult:=mrCancel gesetzt)

zusätlich der Button-Style, wobei man seit Jahren es nur noch dem Default=True ansieht und das seit Windows 10 auch nicht mehr immer dauerhaft.

Willie1 3. Feb 2025 19:26

AW: Esc zum Fenster schließen
 
Verstanden! Werde ich behalten.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:59 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz