要删除菜单中的菜单项,请使用该菜单项的 Delete 方法。
警告删除菜单项时,请勿调用能够直接或间接导致相同 CUI 文件在相同宏内再次被加载的方法或特性。例如,删除菜单项之后,不要使用 MenuGroup.Load 方法或 Preferences.Profiles.ActiveProfile 特性,也不要使用 Document.SendCommand 方法发出 Menuload 命令。这些方法或特性都会直接或间接导致 CUI 文件的加载。因此应该只在单独的宏中使用它们。
本例向菜单栏上的最后一个菜单中添加菜单项,然后再删除该菜单项。
Sub Ch6_DeleteMenuItem()
Dim LastMenu As AcadPopupMenu
Set LastMenu = ThisDrawing.Application.menuBar. _
Item(ThisDrawing.Application.menuBar.count - 1)
' 添加菜单项
Dim newMenuItem As AcadPopupMenuItem
Dim openMacro As String
' 给宏指定“ESC ESC _open”的 VB 等价值
openMacro = Chr(3) + Chr(3) + "_open "
Set newMenuItem = LastMenu.AddMenuItem _
(LastMenu.count + 1, "Open", openMacro)
' 从菜单中删除菜单项
newMenuItem.Delete
End Sub