将菜单插入到菜单栏
From AutoCAD ActiveX/VBA
要将现有菜单插入菜单栏,请使用 InsertMenuInMenuBar 或 InsertInMenuBar 方法。这两种方法均能达到同一目的—将现有菜单插入到菜单栏中。
两种方法之间的差异是调用它们的对象不同。InsertMenuInMenuBar 方法是从 PopupMenus 集合调用的。使用此方法可以将集合中的任意菜单插入菜单栏上的指定位置。此方法需要输入要插入的菜单名称和插入到菜单栏的位置。
InsertInMenuBar 方法是直接从要插入的 PopupMenu 对象调用的。此方法只需要输入菜单栏上的位置。不需要输入菜单的名称,因为用户是直接从要插入的对象调用该方法的。
本例创建新的菜单 TestMenu,并在其中插入一个菜单项,并为此菜单项指定了 OPEN 命令。然后在菜单栏上显示该菜单。
Sub Ch6_InsertMenu()
' 定义当前菜单组的变量
Dim currMenuGroup As AcadMenuGroup
Set currMenuGroup = ThisDrawing.Application. _
MenuGroups.Item(0)
' 创建新菜单Dim newMenu As AcadPopupMenuSet newMenu = currMenuGroup.Menus.Add("TestMenu")' 声明表示菜单项的变量Dim newMenuItem As AcadPopupMenuItemDim openMacro As String' 指定宏字符串“ESC ESC _open”的 VB 等价值' 并创建菜单项openMacro = Chr(3) + Chr(3) + "_open "Set newMenuItem = newMenu.AddMenuItem(newMenu.Count + 1, _"Open", openMacro)' 在菜单栏上显示菜单currMenuGroup.Menus.InsertMenuInMenuBar "TestMenu", ""End Sub