Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   TActionManager und TRibbon (https://www.delphipraxis.net/160788-tactionmanager-und-tribbon.html)

Peter-Pascal 31. Mai 2011 19:06

TActionManager und TRibbon
 
Hallo zusammen,

mein Programm hat eine umfangreiche Menüstruktur und deswegen habe ich mich für TRibbon entschieden wie bei Office2007. Die Befehle (Action) packe ich in einen Actionmanager und ziehe die Befehle dann ins Menü. Nun wird das ganze ziemlich umfangreich und würde gerne die Befehle über mehrere Units verteilen. Dazu habe ich in TDatamodule einen weiteren TActionmanager eingefügt und schreibe dort die Befehle rein. Jetzt graut TRibbon diese Befehle aus. Offensichtlich kann ich bei TRibbon nur einen Actionmanager angeben. Allerdings kann ich bei TRibbonGroup den Actionmanager wählen, also müßte es grundsätzlich richtig sein.

Oder hat jemand eine andere Idee? Wichtig ist die übersichtliche Darstellung der vielen Befehle.

Hier gibt es wenig Antworten zu TRibbon. Ist das nicht so doll?

Gruß Peter

SvB 31. Mai 2011 21:13

AW: TActionManager und TRibbon
 
Hast Du auch eine Referenz zu Deinem Datenmodul erstellt? Wenn Du nur ein Datenmodul anlegst, dann weiß dass Deine Hauptunit ja nicht. Das geht wie folgt: Du musst in Deiner Hauptunit sein. Dann kannst Du über "Datei" und "xxx" (hab gerade mein Delphi nicht offen) die Referenz einfügen. Es öffent sin ein Fenster, in dem alle Units angezeigt werden. Du wählst das Datamodul aus und fertig.
Jetzt kann Deine Hauptunit auch der Actionmanager aus dem Datenmodul sehen. Das sollte auf jeden Fall so klappen.

Peter-Pascal 1. Jun 2011 10:37

AW: TActionManager und TRibbon
 
Doch das habe ich, die Unit steht im Interface.

TRibbon erkennt auch, das mehrere ActionManager vorhanden sind, und die Befehle funktionieren auch, aber die Darstellung ist grau. Meine Überlegung ist, dass es möglicherweise nur einen ActionManager geben kann. Wäre kein Problem, sofern ich die Befahle, d.h. ausprogrammierten Antworten über mehrere units nach Thema verteilen kann. Nur wenn ich im ActionManager eine neue Action anlege und drauf doppelklicke öffnet sich es immer in der IDE in der auch der ActionManager ist.

Gibt es da ein grundsätzlich Vorgehnesweise? Wenn ich mir große Programme wie Word anschaue, kann ich mir unmöglich vorstellen, dass die Antworten auf jeden Klick im Menü in nur einer Unit stehen. Wie verzweigt man im ActionManager in andere Units?

SvB 1. Jun 2011 11:20

AW: TActionManager und TRibbon
 
Ich habe es jetzt selbst mal ausprobiert. Der Hintergrund der Action in der Ribbonbar ist grau.
Mit ist aufgefallen, wenn man einen Actionmanager auf ein Datamodul setzt, dann ist der Style auf "Platform Default" eingestellt. Auf einem Formular wird der Style "Ribbon-Luna" eingestellt. Dass muss man dann im Datenmodul umstellen, dann sollte es wieder funktionieren.
Ich hoffe, dass es dieses Problem war.

SvB 1. Jun 2011 11:27

AW: TActionManager und TRibbon
 
Die Vorgehensweise habe ich ja noch vergessen. Wie das in Word gemacht wird, weiß ich nicht. Ich würde das sehr wahrscheinlich so machen, dass ich alle Actions im Hauptformular habe und den entsprechenden Code dazu in Funktionen in andere Units auslagere. Somit habe ich vom Design her alles an einer Stelle, den Code dann in mehreren Units ausgelagert. Ich muss meinen Code ja nicht direkt im OnExecute reinprogrammieren, ich kann ja auch eine Funktion aufrufen, die an anderer Stelle steht.

Peter-Pascal 1. Jun 2011 14:17

AW: TActionManager und TRibbon
 
Das war es in der Tat, es ist unfaßbar wie so eine kleine Einstellung ärgern kann. Vielen Dank und fürs ausprobieren. Ich hatte mir auch ein Testprogramm erstellt und dort funktionierte es plötzlich auch wunderbarerweise. Aber auch nur deswegen, weil ich dort mal zufällig Style auf Luna gesetzt habe, ohne mir was dabei zu denken:wall:

Dein Vorschlag alle Action in einer Unit und ausprogrammiert in einer anderen klingt gut, muss ich mal überdenken. Die bisher von mir favorisierte ist praktisch für jede Ribbonpage eine eigene Unit mit eigenem ActionManager. Und klappt ja jezt ....

Bislang habe ich hier oft Nachteiliges über TRibbon gelesen und kann es nicht ganz verstehen. Ich finde diese Art der Menüführung gut. Mir gefällt auch bei MSOffice besser.

Die Struktur fest vorgegeben, kein Menü und zusätzlich Speedbutton, und keine fliegenden Fenster. Oft war ich am Arbeitsplatz auch für Hilfe bei IT zuständig und konnte ziemlich oft gerade diese verschiebbaren Menüfenster wiedersuchen.

Also nochmal vielen Dank:-D


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:01 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz