![]() |
Action-Shortcut wird im Menü nicht ausgeführt. Warum?
Auch wenn mir die Frage jetzt schon wirklich peinlich ist (hab das anscheinend seit geraumer Zeit nie ausprobiert): Wieso funktionieren Action-Shortcuts in offenen Menüs oder Popupmenüs nicht?
Genauer: ich hab ein Standard VCL Hauptmenü das ein Item in einen Untermenü enthält. Diesem Item ist eine Action mit ShortCut Strg+D zugewiesen (alternativ, das so definierte Item ist einem Popupmenü zugewiesen). Zur Laufzeit funktioniert der Shortcut bestens, wenn ich ihn einfach so aufrufe. Nun öffne ich mit der Maus das Menü und ich sehe den Eintrag mit dem ihm zugewiesenen Shortcut. Wenn ich nun Strg+D drücke, dann passiert gar nichts. Das gleiche gilt, wenn ich das Popup-Menü öffne. Auch hier reagiert der Shortcut nicht. Gibt es da einen Grund dafür? Und kann man das Ganze umgehen, so daß der Shortcut dennoch ausgeführt wird (und dabei das Menü schließt)? Ja, ich weiß, daß ich auch der Caption ein Tastenkürzel zuweisen kann und das funktioniert auch, aber ich bin auf das Problem gestoßen, daß mein Programm bei einer bestimmten Aktion ein Kontextmenü anzeigt, das die Option zum Kopieren von Daten ins Clipboard enthält (die Daten stehen aber erst mit Öffnen des Kontext-Menüs zur Verfügung, deswegen kann der Shortcut nicht direkt aufgerufen werden; das kann auch nicht geändert werden). Und diese Aktion will ein Benutzer mit Strg+C (also dem Standard) auslösen. Was nun nicht funktioniert. edit: Umgebung ist Delphi XE Grüße, Uli |
AW: Action-Shortcut wird im Menü nicht ausgeführt. Warum?
Ich vermute mal die ShortCuts werden nur in der ParentForm/ParentControl ausgewertet und nicht im Menü.
Eventuell kann man das Menü entsprechend erweitern. (selber einbauen) Ach ja, du könntest im OnKeyDown der Strg+C "abfangen" (Key aber nicht auf 0 setzen) und dort die nötigen Daten bereitstellen, bzw. das OnPopup-Event aufrufen (da ist dein Code doch drin?), dann ginge Strg+C auch ohne das Menü zu öffnen. |
AW: Action-Shortcut wird im Menü nicht ausgeführt. Warum?
Zitat:
Zitat:
Aber ich hab dem Ganzen nun auf alle Fälle Tastenkürzel in der Caption verpaßt, mal schauen, was dazu gesagt wird :) Mich hat's dann nur gewundert, daß das generell nicht zu gehen scheint. vielen Dank, Uli |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:28 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