Eplan-菜单项
## 菜单项使用
Eplan菜单的使用主要是添加菜单,和添加二级菜单,涉及到3个添加的方法
- AddMainMenu()
- AddMenuItem()
- 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);
}
![](https://images.cnblogs.com/cnblogs_com/alideluobo/2322886/o_230704140723_QQ%E6%88%AA%E5%9B%BE20230704215016.png)
![](https://images.cnblogs.com/cnblogs_com/alideluobo/2322886/o_230704140723_QQ%E6%88%AA%E5%9B%BE20230704220401.png)