Anbei Beispiele, wie man Menü + Menüpunkte in Eplan erzeugt:

Template Menu (879 Downloads)

//using System.Windows.Forms;
//using System.Drawing;
//using Eplan.EplApi.ApplicationFramework;
//using Eplan.EplApi.Base;

namespace NS
{
    public class Action
    {

        [DeclareAction("ActionName")]
        public void ActionFunction()
        {
            MessageBox.Show("Hier muss die Aktion stehen :)", "Suplanus", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }
    }

    public class Menu
    {
        [DeclareMenu]
        public void MenuFunction()
        {
            //////////////////////////////////////////////////////////////
            // Menüobjekt wird erzeugt
            //////////////////////////////////////////////////////////////
            Eplan.EplApi.Gui.Menu oMenu = new Eplan.EplApi.Gui.Menu();

            //////////////////////////////////////////////////////////////
            // Menüpunkt am Ende von Menü Dienstprogramme
            //////////////////////////////////////////////////////////////
            oMenu.AddMenuItem(
                "Menüpunkt am Ende von Menü Dienstprogramme", // Name: Menüpunkt
                "ActionName" // Name: Action
                );

            //////////////////////////////////////////////////////////////
            // Hauptmenü mit einem Unterpunkt
            //////////////////////////////////////////////////////////////
            oMenu.AddMainMenu(
                "Suplanus_2", // Name: Menü
                "Hilfe", // neben...
                "Hauptmenü mit einem Menüpunkt", // Name: Menüpunkt
                "ActionName", // Name: Action
                "Statustext", // Statustext
                1 // 1 = Hinter Menüpunkt, 0 = Vor Menüpunkt
                );

            //////////////////////////////////////////////////////////////
            // 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
            );

            //////////////////////////////////////////////////////////////
            // Bestehendes Menü erweitern... mit Popup-Menü
            //////////////////////////////////////////////////////////////
            oMenu.AddPopupMenuItem(
                "Bestehendes Menü erweitern...", // Name: Menü
                "mit Popup-Menü", // Name: Menüpunkt
                "ActionName", // Name: Action
                "Statustext", // Statustext
                37024, // Menü-ID: Einfügen/Fenstermakro... (STRG + ^ um Menü-ID rauszufinden)
                0, // 1 = Hinter Menüpunkt, 0 = Vor Menüpunkt
                false, // Seperator davor anzeigen
                false // Seperator dahinter anzeigen
                );

            //////////////////////////////////////////////////////////////
            // Hauptmenü mit einem Unterpunkt + Popup-Menü mit Unterpunkt
            //////////////////////////////////////////////////////////////
            uint MenuID = new uint(); // Menü-ID vom neu erzeugten Menü
            MenuID = oMenu.AddMainMenu( // Festlegen der Menü-ID des Objekts
                "Suplanus_1", // Name: Menü
                "Hilfe", // neben...
                "Hauptmenü mit einem Menüpunkt", // Name: Menüpunkt
                "ActionName", // Name: Action
                "Statustext", // Statustext
                1 // 1 = Hinter Menüpunkt, 0 = Vor Menüpunkt
                );

            oMenu.AddPopupMenuItem(
                "Popup-Menü mit...", // Name: Menü
                "Unterpunkt", // Name: Menüpunkt
                "ActionName", // Name: Action
                "Statustext", // Statustext
                MenuID, // Menü-ID: Einfügen/Fenstermakro... (STRG + ^ um Menü-ID rauszufinden)
                1, // 1 = Hinter Menüpunkt, 0 = Vor Menüpunkt
                true, // Seperator davor anzeigen
                false // Seperator dahinter anzeigen
                );

        }
    }

}