![]() |
Actionmanager zuweisen
Hallo Delphigemeinde
Folgende (vereinfachte) Ausgangslage: Es existieren die beiden Formulare „Form1“ und „Form2“, mit je einem Actionmanager. Zusätzlich besitzt die „Form1“ noch ein Panel „Panel1“. Diesem Panel weise ich nun die „Form2“ zu und lasse sie anzeigen.
Delphi-Quellcode:
Nachteil dieser Lösung ist es, dass Shortcut-Tasten jeweils nur Aktionen der "Form1" auslösen, nicht jedoch wie beabsichtigt auch (nur) von der "Form2"
Form2.Parent := Panel1.Parent;
Form2.Align := alClient; Form2.BorderStyle := bsNone; Form2.WindowState := wsMaxiMized; Form2.Show; Daher meine Frage: Wie kann ich die Aktionen von der "Form2" dem Actionmanger von "Form1" zuweisen? Lösungen wie
Delphi-Quellcode:
würden zwar funktionieren, jedoch geht es doch sicher auch eleganter - oder?
procedure TForm1.actF1Execute(Sender: TObject);
begin if sAktivesModul = 'Form2' then Form2.actF1Execute(self); end; Besten Dank für Anregungen. |
AW: Actionmanager zuweisen
Form1 in den uses Abschnitt von Form2 aufnehmen. Dann Form1.action....
|
AW: Actionmanager zuweisen
Zitat:
|
AW: Actionmanager zuweisen
Liste der Anhänge anzeigen (Anzahl: 2)
Zitat:
Ein Beispiel kann ich gerne liefern. In Form1 lässt sich im Ribbonmenü die Form2 aufrufen. Zugewiesene Shortcuts: F1 - Form 1 F2 - Form 2 |
AW: Actionmanager zuweisen
Das Problem scheint zum einen auf das zuweisen des Parents
Delphi-Quellcode:
und zum anderen auf den fehlenden Focus auf der Form 2 zurückzuführen sein.
Form2.Parent := Panel1.Parent;
... Form2.Show; Gestern habe ich mit der Objekteigenschafr Actionmanager.TActionListCollection "gespielt" und da hat mein Beispiel einwandfrei funktioniert. Leider habe ich das angepasste Beispiel nicht gespeichert und aktuell will es nicht wieder funktionieren. Kennt ev. jemand einen "Workaround" für diese "Unschönheit"? |
AW: Actionmanager zuweisen
Delphi-Quellcode:
Was ist denn der Parent von Panel1? Form1?
Form2.Parent := Panel1.Parent;
// Kannst du da nicht direkt
Delphi-Quellcode:
schreiben oder self?
Form2.Parent := Form1;
|
AW: Actionmanager zuweisen
Zitat:
Versuchsweise habe ich den Code abgeändert zu
Delphi-Quellcode:
Der Effekt ist, das Form1 normal bestehen bleibt, die Form2 wird oberhalb der Form1 angezeigt.
Form2.Parent := Panel1.Parent;
Form2.Show; Der Focus liegt aber weiterhin auf der Form1. Erst wenn ich die Form2 anklicke klappt es (logischerweise) mit den Shortcuts. Ziel wäre es, die verschiedenen Forms jeweils im Panel1 einzubinden und auch jeweils die Shortcuts der Formulare benutzen zu können. Das Ribbonmenu verwende ich, um die verschiedenen Forms aufzurufen. |
AW: Actionmanager zuweisen
Würde es einen Unterschied machen Frames statt Froms zu verwenden?
Werden die auf Form2 verwendeten Shortcuts auch auf Form1 verwendet (überschneidungen)? |
AW: Actionmanager zuweisen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:09 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