Update 2021-12-04:
Ich habe ein neues Beispiel hier erstellt.
Die Beta zu EPLAN 2022 läuft, und ich bekam schon ein paar Anfragen, ob es möglich ist eigene Ribbons zu erstellen: Ja kann man 🥳
Darum hier mal der Beispielcode:
[DeclareRegister] public void Action() { RibbonBar ribbonBar = new RibbonBar(); RibbonTab ribbonTab = ribbonBar.AddTab("Suplanus"); RibbonCommandGroup ribbonCommandGroup = ribbonTab.AddCommandGroup("MyGroup"); ribbonCommandGroup.AddCommand("MyButton", "MyAction", CommandIcon.Accumulator); }
EPLAN 2022 ist noch in Beta. Der Code könnte sich noch ändern.
Hallo,
bin gerade dabei die neue Beta Version 2022 von Eplan zu testen. Jetzt geht es auch darum unser Firmenmenü wieder zu implementieren.
Ich bekomme es hin einen neuen ribbonTab zu setzen, aber leider nicht ihm einen 2 Command zuzuordnen. Was muss man hier machen?
Eine zweite Frage ist, gibts auch eine Möglichkeit die Image für den Command zu ändern?
[DeclareRegister]
public void MenuFunction()
{
RibbonBar ribbonBar = new RibbonBar();
RibbonTab ribbonTab = ribbonBar.AddTab(“Intern”);
RibbonCommandGroup ribbonCommandGroup1 = ribbonTab.AddCommandGroup(“Hilfe”);
ribbonCommandGroup1.AddCommand(“Konstruktionshandbuch”, “Handbuch”, CommandIcon.Accumulator);
RibbonCommandGroup ribbonCommandGroup2 = ribbonTab.AddCommandGroup(“Daten”);
ribbonCommandGroup2.AddCommand(“Speicherort Projekt öffnen”, “Projekt_Speicher”, CommandIcon.Accumulator);
RibbonCommandGroup ribbonCommandGroup3 = ribbonTab.AddCommandGroup(“Zwischenspeicher”);
ribbonCommandGroup3.AddCommand(“Temp Ordner öffnen”, “Open_Temp”, CommandIcon.Accumulator);
}
Denke Du willst alles einer Gruppe zuordnen oder? Dein Code erzeugt drei Gruppen.
Die Icons kannst Du ändern mit dem Enum CommandIcon. Eigene Bilder sind noch nicht möglich.
Danke für die schnelle Antwort.
Richtig.
Wie kann ich das denn einer Gruppe zuordnen?
Ich möchte der Gruppe “Daten” noch einen Befehl hinzufügen?
Dann musst Du ribbonCommandGroup2.AddCommand verwenden.
Hättst du mal ein Beispiel für mich? So ganz kann ich leider noch nicht folgen.
Nicht getestet, aber das müsste gehen:
[DeclareRegister]
public void MenuFunction()
{
RibbonBar ribbonBar = new RibbonBar();
RibbonTab ribbonTab = ribbonBar.AddTab(„Intern“);
RibbonCommandGroup ribbonCommandGroup = ribbonTab.AddCommandGroup(„Daten“);
ribbonCommandGroup.AddCommand(„Konstruktionshandbuch“, „Handbuch“, CommandIcon.Accumulator);
ribbonCommandGroup.AddCommand(„Speicherort Projekt öffnen“, „Projekt_Speicher“, CommandIcon.Accumulator);
ribbonCommandGroup.AddCommand(„Temp Ordner öffnen“, „Open_Temp“, CommandIcon.Accumulator);
}
Danke das funktioniert
Ist es auch möglich ein Funktion im Skript auf zu nehmen?
Zum Beispiel : XGedStartInteractionAction /Name:XMIaInsertMacro /filename:”$(EPLAN_DATA)\Macro’s\EI\Steinhauer\2,8mm.ema” /variant:0
Danke im Voraus
Gruß Hans
Ja, einfach “MyAction” durch deine Action ersetzen. Anführungszeichen müssen escaped werden.
Gibt immer noch ein Fehler mit dem backslash.
Und es ist nicht genau klar was du mit Anführungszeichen müssen escaped werden meinst
Genau das ist das Problem was ich meinte.
Wie man Anführungszeichen als Parameter übergibt ist in meinem Buch beschrieben. Das Beispiel findest Du hier:
https://eep8a.de/scripts/09_Externe_Programme/#02-unterschiedliche-prozesse-ausfuhren
Siehe quote.
Danke für ihre Hilfe Johann
Alles geht wie es sein sol
Dein Buch hab ich muss nur die neu Version noch kaufen.
Gibt es auch ein Möglichkeit en ribbontab zu entfernen?
Ja, siehe hier:
https://www.eplan.help/en-US/Infoportal/content/api/2022/Eplan.EplApi.Guiu~Eplan.EplApi.Gui.RibbonTab~Remove.html