从菜单中删除菜单项

AutoCAD ActiveX/VBA

 
从菜单中删除菜单项
 
 
 

要删除菜单中的菜单项,请使用该菜单项的 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