Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Mehrere TActions mit dem gleichen ShortCut - wie?


motion - Di 29.11.05 14:50
Titel: Mehrere TActions mit dem gleichen ShortCut - wie?
In einer Applikation habe ich auf einem Formular eine Pagecontrol mit verschiedenen Tabs.
Auf diesen Tabs haben die Funktionstasten unterschiedliche Aufgaben.
Ich habe das mit TActions gelöst, die ich im OnChanging event per enable property umschalte. Funktioniert auch gut, weil dann auch gleich Speedbuttons, Menüpunkte etc. mit ein/ausgeschaltet werden.
Nur die Shortcuts machen mir Probleme. Ich kann zwar allen TActions die Shortcuts zuweisen, auch Mehrfachzuweisungen (F5 bei drei verschiedenen Actions eintragen) sind möglich.
Aber es reagiert immer nur die erste TAction.
Selbst wenn ich die erste per enabled:=false abschalte, reagiert die zweite nicht.
Wie kriegt man das in den Griff?
Muss ich wirklich die Shortcuts der betroffenen Kollisionsactions leer lassen und muss diese beim enable:=xxx ebenfalls setzen und löschen?


motion - Mi 30.11.05 00:48

Ja, so habe ich das jetzt gelöst:
1. In Objektinspektor bei allen Actions die Shortcuts wie gewünscht besetzt; damit stimmen dann auch in den Menues die Funktionstasten
2. Im PageControlChanging Event
-Setze ich bei allen Action.Shortcut:=0, Action.Enabled:=False;
-gemäß "NewIndex" setze ich dann den Shortcut neu und enabled:=True;

Nur mittelmäßig elegant, aber funktioniert.