| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für EPLAN |
Autor
|
Thema: Menu erstellen (1316 mal gelesen)
|
MT-Messtechnik Mitglied Entwicklung Automationstechnik
Beiträge: 48 Registriert: 26.01.2012 EPLAN Electric P8 2.6 HF2 - Professional (64bit) EPLAN Fluid Add-On
|
erstellt am: 11. Feb. 2015 10:43 <-- editieren / zitieren --> Unities abgeben:
Hallo Zusammen Ich würde gerne ein bestehendes Menu mit einem Menuunterpunkt erweitern. Leider werde ich aus der MenuID nicht schlau. Von Jonny Wire habe ich auch folgendes Beispiel gefunden, aber leider funktioniert bei mir STRG + ^ nicht. Wie kann ich die MenuID herausfinden? Folgender Menupunkt will ich am Schluss des Hauptmenu Projektdaten erstellen: Projektdaten\Baugruppen-Navigator Code: ////////////////////////////////////////////////////////////// // Bestehendes Menü erweitern ////////////////////////////////////////////////////////////// oMenu.AddMenuItem( "Bestehendes Menü erweitern", // Name: Menüpunkt "ActionName", // Name: Action "Statustext", // Statustext 37024, // Menü-ID: Einfügen/Fenstermakro... (STRG + ^ um Menü-ID rauszufinden) 1, // 1 = Hinter Menüpunkt, 0 = Vor Menüpunkt false, // Seperator davor anzeigen false // Seperator dahinter anzeigen );
Grüsse Sascha ------------------ Sascha Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DanielPa Mitglied Consultant
Beiträge: 377 Registriert: 21.05.2009 WSCAD Suit Ultimate 2015 Eplan P8 2.2.5 und 2.4
|
erstellt am: 11. Feb. 2015 12:49 <-- editieren / zitieren --> Unities abgeben: Nur für MT-Messtechnik
Hi, Menü-Id kannst du auch so rausfinden: Code: uint presMenuId = oMenu.GetPersistentMenuId("Baugruppen-Navigator"); oMenu.AddMenuItem("Dein Menüpunkt", "DeineAction", "Dein Statustext", presMenuId, 0, false, false);
Ist dann aber logischer weise Sprachabhängig. MfG Daniel
------------------ “Hacker (noun): An organism that converts caffeine or alcohol into code.” ~ Standard Definition Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MT-Messtechnik Mitglied Entwicklung Automationstechnik
Beiträge: 48 Registriert: 26.01.2012 EPLAN Electric P8 2.6 HF2 - Professional (64bit) EPLAN Fluid Add-On
|
erstellt am: 11. Feb. 2015 14:36 <-- editieren / zitieren --> Unities abgeben:
Hallo Daniel Vielen Dank für deine Antwort. Da ich am Anfang des Scripting stehe, sehe ich den Lösungsweg mit deinem Vorschlag nicht. Kannst du mir evtl etwas weiterhelfen? Zur Zeit sieht mein Code zur Erstellung des Menu so aus.
Code:
//Hauptmenü [DeclareMenu()] public void Baugruppe_Menu() { Eplan.EplApi.Gui.Menu oMenu = new Eplan.EplApi.Gui.Menu(); oMenu.AddMenuItem("Baugruppe-Navigator", "BaugruppeDialogShow", "Baugruppe-Navigator ein- / ausschalten", 35103, 1, false, false); }
Diese MenuID ist jedoch der Menupunkt Verwaltung. Gibt es den Diagnose-Dialog nicht mehr? ------------------ Sascha [Diese Nachricht wurde von MT-Messtechnik am 11. Feb. 2015 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DanielPa Mitglied Consultant
Beiträge: 377 Registriert: 21.05.2009 WSCAD Suit Ultimate 2015 Eplan P8 2.2.5 und 2.4
|
erstellt am: 11. Feb. 2015 17:12 <-- editieren / zitieren --> Unities abgeben: Nur für MT-Messtechnik
Aber sicher doch! Den Diagnose-Dialog gibt es noch. Er wird auch immer noch wie in Johanns Buch beschrieben mit der Steuerungstaste und dem Zirkumflex (STRG+^) aufgerufen. In der dritten Zeile wird dir die Menü-ID des zuletzt aufgerufenen Menüpunktes angezeigt. Diese ID kannst du dann als Integerwert der Methode AddMenuItem übergeben. Ich hatte selbst schonmal eine Arbeitsstation bei der die Tastenkombi STRG+^ nicht funktioniert hat (Vermutlich durch irgend eine Programmkonstalation hervorgerufen). Deshalb hab ich hier eine andere Möglichkeit aufgezeigt die Menü-ID zu ermitteln. Die Methode GetPersistentMenuId("TextDesMenüpunktes") der Klasse Eplan.EplApi.Gui.Menu gibt die Menü-ID des jeweiligen Menüpunktes zurück, dessen Menütext du übergeben hast. Code:
uint id_von_symbole= oMenu.GetPersistentMenuId("Symbole"); if(uint == 35305) { //der Wert der Variablen id_von_symbole ist 35305 }//kann man auch ausgeben MessageBox.Show(id_von_symbole.ToString());
...wer nicht fragt bleibt dumm...:-D MfG Daniel
------------------ “Hacker (noun): An organism that converts caffeine or alcohol into code.” ~ Standard Definition Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|