![]() |
Strg+V bei Zuweisung im Mainmenu und Strg+V in TEdit in anderem Dialog
Wenn ich einem Main-Menu Eintrag den ShortCut Strg+V zuweise (für einfügen von Text) und der Eintrag enabled ist und ich dann einen modalen Dialog aufrufe, indem ein Edit liegt, funktioniert Strg+V dort im TEdit nicht (klar, rechte Maustaste und Menü einfügen geht).
Gibt es eine einfach Möglichkeit zu erreichen, dass Strg+V in dem modalen Dialog dennoch nutzbar ist? |
AW: Strg+V bei Zuweisung im Mainmenu und Strg+V in TEdit in anderem Dialog
Kannst du mal ein Minimalbeispiel machen?
|
AW: Strg+V bei Zuweisung im Mainmenu und Strg+V in TEdit in anderem Dialog
Die unkreativen Vorschläge:
Den Short-Cut auf was anderes setzen oder den menuItem disablen bevor du den Dialog anzeigst? |
AW: Strg+V bei Zuweisung im Mainmenu und Strg+V in TEdit in anderem Dialog
Ja zeig mal Code... ;-). Arbeitest du mit Firemonkey oder VCL?
Ich habe rasch VCL getestet (aber eventuell am Problem vorbei...): Wenn ich als Dialogfenster ein normales VCL Form (tust du wahrscheinlich nicht (?)) mit einem TEdit verwende und dieses Fenster via ShowModal anzeige und TEdit den Fokus hat, dann landet CTRL-V beim Edit und nicht beim Hauptformular im Menu. |
AW: Strg+V bei Zuweisung im Mainmenu und Strg+V in TEdit in anderem Dialog
Ist auch richtig so, dass es nicht auslöst.
Globale Hotkeys kann man mit ![]() ![]() |
AW: Strg+V bei Zuweisung im Mainmenu und Strg+V in TEdit in anderem Dialog
Ist ein VCL-Projekt. Ja, seltsam, wenn ich ein Testprojekt mache, funktioniert es... Mysteriös..
|
AW: Strg+V bei Zuweisung im Mainmenu und Strg+V in TEdit in anderem Dialog
Oh, jetzt habe ich den Übeltäter, hatte das hier drin, das hat meine Shortcuts außerhalb der Form gefressen:
Delphi-Quellcode:
So gehts wieder in anderen Formen:
procedure TF_Main.ApplicationEvents1ShortCut(var Msg: TWMKey;
var Handled: Boolean); begin Handled := MainMenu.IsShortCut(Msg); end;
Delphi-Quellcode:
Also Dank an Redeemer, Dein Hinweis hat mich darauf gebracht, an dieser Stelle zu suchen...
procedure TF_Main.ApplicationEvents1ShortCut(var Msg: TWMKey;
var Handled: Boolean); begin if Self = Screen.ActiveForm then begin Handled := MainMenu.IsShortCut(Msg); end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:33 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