![]() |
Shotcuts von TActions in MDI Apllications
Hi,
eigentlich ist dies ein Beitrag für die QC von Borland, doch vielleicht hat ja einer von Euch schon ein Bugfix geschrieben: Ausgangspunkt: Eine MDI Anwendung bestehend aus mindestens 2 unterschiedlichen Childformularen und (natürlich) einem MDI-Parent. In Child 1 ist in einer TActionList 1 TAction mit einem beliebigen ShortCut - z. B. STRG+UMSCH+V In Child 2 ist in einer TActionList 1 TAction mit einem beliebigen, jedoch von dem in Child 1 unterschiedlichen ShortCut - z. B. SHIFT+ENTF Öffne ich nun in der mit Delphi 7 kompilierten Anwendung beide Child Fenster, wird, wenn ich die Tastenkombination STRG+UMSCH+V betätige, die entspr. Action ausgelöst, WENN Child 1 das AKTIVE Child Fenster ist. Die Tastenkobination SHIFT+ENTF bleibt ohne Resonanz. So soll es sein, das ist gut so. Kompiliere ich nun den selben Sourcecode mit Delphi 10 und starte die Anwendung wie oben beschrieben, wird SHIFT+ENTF auch dann ausgelöst, wenn Child 2 NICHT das AKTIVE Fenster ist. Ebenso verhält es sich mit STRG+UMSCH+V, wenn Child 1 nicht das aktive Fenster ist. Nun meine Frage, hat jemand von Euch gleiche Erfahrungen gemacht? Wer hat eine Lösung? |
Re: Shotcuts von TActions in MDI Apllications
Manche Fragen muss man sich selber beantworten.
Für alle Anwender, die meine Sorgen teilen, hier nun eine Lösung des Problems - schade nur, dass niemand aus dem Hause Borland, Code Gear, oder wer auch immer demnächst eine IDE namens Delphi herstellen mag, sich des Bugs angenommen haben. Ich habe in einem Basisformular meiner Anwendung die Funktion "IsShortCut()" überschrieben...
Delphi-Quellcode:
... seit dem läuft alles so, wie ich es mir wünsche.
function TosCustomForm.IsShortCut(var Message: TWMKey): Boolean;
begin Result := Self.Enabled and (Screen.ActiveForm = Self) and inherited IsShortCut(Message); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:18 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-2025 by Thomas Breitkreuz