将菜单插入到菜单栏

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 AcadPopupMenu
    Set newMenu = currMenuGroup.Menus.Add("TestMenu")
      
    ' 声明表示菜单项的变量
    Dim newMenuItem As AcadPopupMenuItem
    Dim 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