Eplan-菜单项

发布时间 2023-07-04 22:17:59作者: 阿狸的萝卜

Eplan-菜单项

## 菜单项使用

Eplan菜单的使用主要是添加菜单,和添加二级菜单,涉及到3个添加的方法

  1. AddMainMenu()
  2. AddMenuItem()
  3. AddPopupMenuItem()

初始化和创建

   public class EplanMenu : IEplAddIn
    {
        public bool OnExit()
        {
            return true;
        }
    public bool OnInit()
    {
        return true;
    }

    public bool OnInitGui()
    {
        InitMenu();
        return true;
    }

    public bool OnRegister(ref bool bLoadOnStart)
    {
        return true;
    }

    public bool OnUnregister()
    {
        return true;
    }

    public void InitMenu()
        {
            Menu menu = new Menu();
        // 创建主菜单
            var mainIndex = menu.AddMainMenu("附加菜单",Menu.MainMenuName.eMainMenuHelp,"项目一","eplanaction","",1);

        // 创建子项
            menu.AddMenuItem("项目二","eplanaction","",mainIndex,1,false,false);
            menu.AddMenuItem("项目三", "eplanaction", "", mainIndex, 1, false, false);
//创建二级菜单
            var pop1 =  menu.AddPopupMenuItem("项目四","4-分支一","eplanaction","",mainIndex,1,false,false);
            menu.AddMenuItem("4-分支二", "eplanaction", "", pop1, 1, false, false);
        }
}

注意的点

  • AddMainMenu第二个参数,推荐使用eMainMenuHelp防止出现初始化成功,但菜单在eplan不显示的bug
  • AddMainMenu 第四个参数,为行动的名称,若系统没有注册此名称的行动,则会显示灰色不能点击的样式
  • AddMainMenu 第六个参数,也就是最后一个参数 1表示项目一在最顶层,0则会在最底层
  • AddMenuItem 第四个参数,表示菜单子项插入菜单项的id
  • AddMenuItem 第五个参数,0 代表 子项会在顶层,1表示会在底层,若全是1则会按照第一个注册的在最底层这种倒序来排列,解决方法则可以将1改为2,3,4这种数字,这样则可以按照顺序来排列。
 public void InitMenu()
        {
            Menu menu = new Menu();
            var mainIndex = menu.AddMainMenu("附加菜单",Menu.MainMenuName.eMainMenuHelp,"项目一","eplanaction","",1);

            menu.AddMenuItem("项目二","epalnAvtion","",mainIndex,1,false,false);
            menu.AddMenuItem("项目三", "epalnAvtion", "", mainIndex, 2, false, false);

            var pop1 =  menu.AddPopupMenuItem("项目四","4-分支一","eplanACTION","",mainIndex,3,false,false);
            menu.AddMenuItem("4-分支二", "epalnAvtion", "", pop1, 1, false, false);
        }