以下程序示例:用代码创建菜单。 执行命令 TestMenu ,将在主菜单上创建下图所示的菜单。 ![这里写图片描述](https://img-blog.csdn.net/20171213212504355?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaGlzaW53YW5n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
static AcadPopupMenu testMenu = null;
[CommandMethod("TestMenu")]
public void TestMenu()
{
Document doc = Application.DocumentManager.MdiActiveDocument;
AcadApplication acadApp = Application.AcadApplication as AcadApplication;
// 创建菜单
if (testMenu == null)
{
testMenu = acadApp.MenuGroups.Item(0).Menus.Add("测试菜单");
testMenu.AddMenuItem(testMenu.Count, "Menu1", "line ");
testMenu.AddMenuItem(testMenu.Count, "Menu2", "polyline ");
AcadPopupMenu subMenu = testMenu.AddSubMenu(testMenu.Count, "Menu3");
subMenu.AddMenuItem(testMenu.Count, "Cricle", "circle ");
testMenu.AddSeparator(testMenu.Count);
testMenu.AddMenuItem(testMenu.Count, "Menu4", "rectangle ");
}
// 菜单是否显示
bool isShowd = false;
foreach (AcadPopupMenu menu in acadApp.MenuBar)
{
if (menu == testMenu)
{
isShowd = true;
break;
}
}
// 显示菜单
if (!isShowd)
{
testMenu.InsertInMenuBar(acadApp.MenuBar.Count);
}
}
1
以上代码中用到的类 AcadApplication,需要添加引用 Autodesk.AutoCAD.Interop.dll。 该 dll 在对应版本的 ObjectARX 包中,需要下载 ObjectARX 安装。 (如:对于 AutoCAD 2014,在 ObjectARX 目录下的 inc-win32 或 inc-x64目录下) ObjectARX 的下载地址如下: AutoCAD 2010 ObjectARX AutoCAD 2012 ObjectARX AutoCAD 2014 ObjectARX AutoCAD 2016 ObjectARX
2
AcadPopupMenuItem AddMenuItem(object Index, string Label, string Macro); Index 为序号 Label 为菜单显示文本 Macro 为菜单项执行的命令文本
|