Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  EPLAN Electric P8
  Scripting - neues Menü mit Untermenü

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für EPLAN
Autor Thema:  Scripting - neues Menü mit Untermenü (3862 mal gelesen)
matthespro
Mitglied
Elektrotechnikermeister, Selbständig


Sehen Sie sich das Profil von matthespro an!   Senden Sie eine Private Message an matthespro  Schreiben Sie einen Gästebucheintrag für matthespro

Beiträge: 531
Registriert: 22.09.2006

Eplan 5.70.3 Prof. Int.
Eplan 21 4.3 Prof. Int. mit GM Tool 3.214
Eplan P8 Prof. Int. 2.2 - Aktuell
EPLAN P8 Fluid Addon 2.2 - Aktuell
Eplan P8 Prof. Int. mit GM Tool
Win 7 64 Bit
MS Office 2010

erstellt am: 28. Aug. 2012 16:40    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Moin zusammen 

ich habe einen neuen Menüpunkt angelegt und möchte da jetzt mehrere Untermenü anhängen.
Der Anfang war ja kein Ding, allerdings bekomme ich bei den weiteren Menüeinträgen die Fehlermeldung:
"Keine Überladung für die AddMenuItem- Methode nimmt 4 Argumente an."

Hat dazu jemand mal ne Hilfestellung für mich? 

Das ganze sieht dann bei mir so aus:


using System.Windows.Forms;
using Eplan.EplApi.Scripting;

public class Class
{
        [DeclareMenu]
        public void MenuFunction()
        {
            Eplan.EplApi.Gui.Menu oMenu = new Eplan.EplApi.Gui.Menu();

            oMenu.AddMainMenu(
            "BBRail", // Name: Menü
            "Hilfe", // neben Menüpunkt
            "Projekttexte exportieren", // Name: Menüpunkt
            "MenuAction", // Name: Action
            "Statustext", // Statustext
            1 // 1 = hinter Menüpunkt,
            );

            return;
        }

        [DeclareMenu]
        public void MenuFunction()

          {
            Eplan.EplApi.Gui.Menu oMenu = new Eplan.EplApi.Gui.Menu();

            oMenu.AddMenuItem(
            "Organisation", // Name: Menü
            "MenuAction", // Name: Action
            false, //Separator davor anzeigen
            false  //Separator dahinter anzeigen
            );

            return;
          }

        [DeclareMenu]
        public void MenuFunction()
        {
            Eplan.EplApi.Gui.Menu oMenu = new Eplan.EplApi.Gui.Menu();

            oMenu.AddMenuItem(
            "Projektende", // Name: Menü
            "MenuAction", // Name: Action
            false, //Separator davor anzeigen
            false  //Separator dahinter anzeigen
            );

            return;
        }
}


------------------
Frauen Komplimente machen,
ist wie Topfschlagen im Minenfeld!
Es sind immer nur ein paar mm zwischen Leben und Tod
   

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

doofy83
Mitglied
Consultant


Sehen Sie sich das Profil von doofy83 an!   Senden Sie eine Private Message an DanielPa  Schreiben Sie einen Gästebucheintrag für DanielPa

Beiträge: 377
Registriert: 21.05.2009

WSCAD Suit Ultimate 2015
Eplan P8 2.2.5 und 2.4

erstellt am: 28. Aug. 2012 17:36    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für matthespro 10 Unities + Antwort hilfreich

Hallo,

Untermenüs erzeugst du mit der Methode .AddPopupMenuItem()
Schau dir doch mal das/die Beispiel(e) von Johann an.
https://github.com/Suplanus/EplanElectricP8Automat isieren/blob/master/06_Men%C3%BCs/05_Hauptmen%C3%BC_mit_Popup-Men%C3%BC.cs

mfg

Daniel

[Diese Nachricht wurde von doofy83 am 28. Aug. 2012 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

matthespro
Mitglied
Elektrotechnikermeister, Selbständig


Sehen Sie sich das Profil von matthespro an!   Senden Sie eine Private Message an matthespro  Schreiben Sie einen Gästebucheintrag für matthespro

Beiträge: 531
Registriert: 22.09.2006

Eplan 5.70.3 Prof. Int.
Eplan 21 4.3 Prof. Int. mit GM Tool 3.214
Eplan P8 Prof. Int. 2.2 - Aktuell
EPLAN P8 Fluid Addon 2.2 - Aktuell
Eplan P8 Prof. Int. mit GM Tool
Win 7 64 Bit
MS Office 2010

erstellt am: 29. Aug. 2012 11:28    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Moin Daniel,

Danke für den Link.
Popup Menü ist jetzt nicht das was ich wollte, hat aber geholfen.

Aus der Fehlermeldung werde ich zwar immer noch nicht schlau, sieht jetzt aber so aus:

using System;
using System.IO;
using System.Windows.Forms;
using Eplan.EplApi.ApplicationFramework;
using Eplan.EplApi.Scripting;

public class Class
{
    [DeclareAction("MenuAction")]
    public void ActionFunction()
    {
        MessageBox.Show("Action wurde Ausgeführt!");

        return;
    }

        [DeclareMenu]
        public void MenuFunction()
        {
            Eplan.EplApi.Gui.Menu oMenu = new Eplan.EplApi.Gui.Menu();

            uint MenuID = new uint(); // Menü ID vom neu erzeugten Menü
            MenuID = oMenu.AddMainMenu(
            "MPR_ORGA", // Name: Menü
            "Hilfe", // neben Menüpunkt
            "Projekttexte exportieren", // Name: Menüpunkt
            "MenuAction", // Name: Action
            "Statustext", // Statustext
            1 // 1 = hinter Menüpunkt,
            );

            oMenu.AddMenuItem(
            "Organisation", // Name: Menü
            "MenuAction", // Name: Action
            "Statustext", // Statustext
            MenuID, // Menü ID
            1, // 1  hinter dem Menüpunkt, 0 = Vor dem Menüpunkt
            true, //Separator davor anzeigen
            false  //Separator dahinter anzeigen
            );

            return;
          }

}

------------------
Frauen Komplimente machen,
ist wie Topfschlagen im Minenfeld!
Es sind immer nur ein paar mm zwischen Leben und Tod
   

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

matthespro
Mitglied
Elektrotechnikermeister, Selbständig


Sehen Sie sich das Profil von matthespro an!   Senden Sie eine Private Message an matthespro  Schreiben Sie einen Gästebucheintrag für matthespro

Beiträge: 531
Registriert: 22.09.2006

Eplan 5.70.3 Prof. Int.
Eplan 21 4.3 Prof. Int. mit GM Tool 3.214
Eplan P8 Prof. Int. 2.2 - Aktuell
EPLAN P8 Fluid Addon 2.2 - Aktuell
Eplan P8 Prof. Int. mit GM Tool
Win 7 64 Bit
MS Office 2010

erstellt am: 29. Aug. 2012 13:50    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

hmmmm 
ich glaub ich brauch doch noch mal Hilfe.
Wie teile ich jetzt dem jeweiligen Menüeintrag ein was er machen soll?

*auf dem Schlau steh* 

------------------
Frauen Komplimente machen,
ist wie Topfschlagen im Minenfeld!
Es sind immer nur ein paar mm zwischen Leben und Tod
   

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

FML
Mitglied



Sehen Sie sich das Profil von FML an!   Senden Sie eine Private Message an FML  Schreiben Sie einen Gästebucheintrag für FML

Beiträge: 491
Registriert: 11.03.2002

Aktuell:
EPLAN Electric P8 Professional
V 2.6 HF2
V 2.7
V 2.7 Education<P>Eplan Fluid Add On
Eplan ProPanel Add On
Electric P8 API
EEC
Systeme:
MS WINDOWS 10
MS WINDOWS 7
MS WINDOWS 2016 Server
MS WINDOWS SQL Server

erstellt am: 29. Aug. 2012 21:33    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für matthespro 10 Unities + Antwort hilfreich

Hallo,

dazu kann man eine bestehende EPLAn Action rufen oder eine eigne Action schreiben.

Gruß Fritz

------------------
Um zu sehen, musst Du die Augen offen halten.
Um zu erkennen, musst Du sie schliessen und denken.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

FML
Mitglied



Sehen Sie sich das Profil von FML an!   Senden Sie eine Private Message an FML  Schreiben Sie einen Gästebucheintrag für FML

Beiträge: 491
Registriert: 11.03.2002

Aktuell:
EPLAN Electric P8 Professional
V 2.6 HF2
V 2.7
V 2.7 Education<P>Eplan Fluid Add On
Eplan ProPanel Add On
Electric P8 API
EEC
Systeme:
MS WINDOWS 10
MS WINDOWS 7
MS WINDOWS 2016 Server
MS WINDOWS SQL Server

erstellt am: 29. Aug. 2012 21:48    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für matthespro 10 Unities + Antwort hilfreich

Hallo Matthias,
habe gerade mal auf meiner Platte ein wenig gestöbert und noch was
gefunden was Dir vielleicht mit den Menüs behilflich sein könnte.

hatte mir vor langer langer Zeit mal ein Menübsp erstellt.

Der Script Code baut ein Hauptmenü ( Mainmenue HM ) mit Popupmenüs und normalen Menüeinträgen und zugehörigen Actions auf. Ein Eintrag versucht auch ein Makro ( fs.ems ) zu laden.

Gruß Fritz

Hier der Bsp. Code

Code:

public class MenuScript

{
     [DeclareAction("A_Eintrag1HM")]
     public void MyEintrag1HMAction()
     {

       MessageBox.Show("Eintrag 1 in HM aufgerufen!", "MenuFunction");
       return;

     }
     [DeclareAction("A_Eintrag2HM")]
     public void MyEintrag2HMAction()
     {

       MessageBox.Show("Eintrag 2 in HM aufgerufen!", "MenuFunction");
       return;

     }
     [DeclareAction("A_Eintrag3HM")]
     public void MyEintrag3HMAction()
     {

       MessageBox.Show("Eintrag 3 in HM aufgerufen!", "MenuFunction");
       return;

     }
              
     [DeclareAction("A_Eintrag1POP1")]
     public void MyEintrag1POP1Action()
     {

       MessageBox.Show("Eintrag 1 in POP1 aufgerufen!", "MenuFunction");
       return;

     }

     [DeclareAction("A_Eintrag1POP2")]
     public void MyEintrag1POP2Action()
     {

       MessageBox.Show("Eintrag 1 in POP2 aufgerufen!", "MenuFunction");
       ActionCallingContext printContext = new ActionCallingContext ();
     printContext.AddParameter("Name","XMIaInsertMacro");
     printContext.AddParameter("filename","FS.ems");
     new CommandLineInterpreter().Execute("XGedStartInteractionAction",printContext);      
       return;

     }
     [DeclareAction("A_Eintrag2POP2")]
     public void MyEintrag2POP2Action()
     {

       MessageBox.Show("Eintrag 2 in POP2 aufgerufen!", "MenuFunction");
       return;

     }
    
     [DeclareAction("A_Eintrag1POP3")]
     public void MyEintrag1POP3Action()
     {

       MessageBox.Show("Eintrag 1 in POP3 aufgerufen!", "MenuFunction");
       return;

     }
     [DeclareAction("A_Eintrag2POP3")]
     public void MyEintrag2POP3Action()
     {

       MessageBox.Show("Eintrag 2 in POP3 aufgerufen!", "MenuFunction");
       return;

     }
     [DeclareAction("A_Eintrag3POP3")]
     public void MyEintrag3POP3Action()
     {

       MessageBox.Show("Eintrag 3 in POP3 aufgerufen!", "MenuFunction");
       return;

     } 
     [DeclareAction("A_Eintrag4POP3")]    
     public void MyEintrag4POP3Action()
     {

       MessageBox.Show("Eintrag 4 in POP3 aufgerufen!", "MenuFunction");
       return;

     }     
    
                       
     [DeclareMenu]
     public void MenuFunction()
     {

       Eplan.EplApi.Gui.Menu oMenu = new Eplan.EplApi.Gui.Menu();

        uint iMainMenuId = oMenu.AddMainMenu("Mainmenu HM", "Dienstprogramme", "Eintrag 1 in HM", "A_Eintrag1HM", "", 1);
        uint iPopupMenu0 = oMenu.AddPopupMenuItem("POPUP 1 POP", "Eintrag 1 in POP 1", "A_Eintrag1POP1", "Eintrag 1 in POP1", iMainMenuId, 0, false, false);
        oMenu.AddMenuItem("Eintrag 2 in HM", "A_Eintrag2HM", "Eintrag 2 in HM", iMainMenuId, int.MaxValue, false, true);
        oMenu.AddMenuItem("Eintrag 3 in HM", "A_Eintrag3HM", "Eintrag 2 in HM", iMainMenuId, int.MaxValue, false, true);
        uint iPopupMenu1 = oMenu.AddPopupMenuItem("POPUP 2 POP2", "Eintrag 1 in POP 2", "A_Eintrag1POP2", "Eintrag 1 in POP2", iMainMenuId, int.MaxValue, false, false);
        oMenu.AddMenuItem("Eintrag 2 in POP 2", "A_Eintrag2POP2", "Eintrag 2 in POP 2", iPopupMenu1, int.MaxValue, false, false);
        uint iPopupMenu2 = oMenu.AddPopupMenuItem("POPUP 3 POP3", "Eintrag 1 in POP 3", "A_Eintrag1POP3", "Eintrag 1 in POP3", iMainMenuId, int.MaxValue, false, false);
        oMenu.AddMenuItem("Eintrag 2 in POP 3", "A_Eintrag2POP3", "Eintrag 2 in POP 3", iPopupMenu2, int.MaxValue, false, false);
        oMenu.AddMenuItem("Eintrag 3 in POP 3", "A_Eintrag3POP3", "Eintrag 2 in POP 3", iPopupMenu2, int.MaxValue, true, false);
        oMenu.AddMenuItem("Eintrag 4 in POP 3", "A_Eintrag4POP3", "Eintrag 4 in POP 3", iPopupMenu2, int.MaxValue, false, false);  
     }
}


------------------
Um zu sehen, musst Du die Augen offen halten.
Um zu erkennen, musst Du sie schliessen und denken.

[Diese Nachricht wurde von FML am 29. Aug. 2012 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

matthespro
Mitglied
Elektrotechnikermeister, Selbständig


Sehen Sie sich das Profil von matthespro an!   Senden Sie eine Private Message an matthespro  Schreiben Sie einen Gästebucheintrag für matthespro

Beiträge: 531
Registriert: 22.09.2006

Eplan 5.70.3 Prof. Int.
Eplan 21 4.3 Prof. Int. mit GM Tool 3.214
Eplan P8 Prof. Int. 2.2 - Aktuell
EPLAN P8 Fluid Addon 2.2 - Aktuell
Eplan P8 Prof. Int. mit GM Tool
Win 7 64 Bit
MS Office 2010

erstellt am: 30. Aug. 2012 10:17    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Moin Fritz 

vielen Dank für den Menücode. Ich werde das gleich mal testen

Ich habe da noch eine Frage.
Wenn ich per Automatisiert bearbeiten 2 scripte erstelle und die über die Menüeinträge starten will,
dann nimmt er immer das gleiche Scripte, obwohl die unterschiedlich heissen.
Ich habe auch schon die beiden Skripte in C# eingebunden und über Skript ausführen zu starten,
aber er greift immer auf das gleich zurück.

Hast du irgendeine Ahnung?

Gruß Matthes

------------------
Frauen Komplimente machen,
ist wie Topfschlagen im Minenfeld!
Es sind immer nur ein paar mm zwischen Leben und Tod
   

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

FML
Mitglied



Sehen Sie sich das Profil von FML an!   Senden Sie eine Private Message an FML  Schreiben Sie einen Gästebucheintrag für FML

Beiträge: 491
Registriert: 11.03.2002

Aktuell:
EPLAN Electric P8 Professional
V 2.6 HF2
V 2.7
V 2.7 Education<P>Eplan Fluid Add On
Eplan ProPanel Add On
Electric P8 API
EEC
Systeme:
MS WINDOWS 10
MS WINDOWS 7
MS WINDOWS 2016 Server
MS WINDOWS SQL Server

erstellt am: 30. Aug. 2012 23:09    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für matthespro 10 Unities + Antwort hilfreich

Hallo Matthias,

sende mir doch mal den Code dann schau ich mir das mal an.
So wird das nur ein vermuten.
Email siehe PM.

Gruß Fritz

------------------
Um zu sehen, musst Du die Augen offen halten.
Um zu erkennen, musst Du sie schliessen und denken.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz