![]() |
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. |
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.
|
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 |
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:
kann oft das dennoch behandelt werden,
if Key = VK_ESCAPE
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. |
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