AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TActionManager und TRibbon

Ein Thema von Peter-Pascal · begonnen am 31. Mai 2011 · letzter Beitrag vom 1. Jun 2011
Antwort Antwort
Peter-Pascal

Registriert seit: 18. Feb 2007
Ort: 32139 Spenge
197 Beiträge
 
Delphi 11 Alexandria
 
#1

TActionManager und TRibbon

  Alt 31. Mai 2011, 19:06
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
Peter Niemeier
  Mit Zitat antworten Zitat
SvB

Registriert seit: 21. Okt 2004
Ort: Eckenroth
426 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#2

AW: TActionManager und TRibbon

  Alt 31. Mai 2011, 21:13
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.
Sven

Alle sagen, das geht nicht. Da kam einer, der wusste das nicht und hat es gemacht.
  Mit Zitat antworten Zitat
Peter-Pascal

Registriert seit: 18. Feb 2007
Ort: 32139 Spenge
197 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: TActionManager und TRibbon

  Alt 1. Jun 2011, 10:37
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?
Peter Niemeier
  Mit Zitat antworten Zitat
SvB

Registriert seit: 21. Okt 2004
Ort: Eckenroth
426 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#4

AW: TActionManager und TRibbon

  Alt 1. Jun 2011, 11:20
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.
Sven

Alle sagen, das geht nicht. Da kam einer, der wusste das nicht und hat es gemacht.
  Mit Zitat antworten Zitat
SvB

Registriert seit: 21. Okt 2004
Ort: Eckenroth
426 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#5

AW: TActionManager und TRibbon

  Alt 1. Jun 2011, 11:27
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.
Sven

Alle sagen, das geht nicht. Da kam einer, der wusste das nicht und hat es gemacht.
  Mit Zitat antworten Zitat
Peter-Pascal

Registriert seit: 18. Feb 2007
Ort: 32139 Spenge
197 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: TActionManager und TRibbon

  Alt 1. Jun 2011, 14:17
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

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
Peter Niemeier
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:54 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