关于向菜单添加新菜单项 (VBA/ActiveX)
若要将新菜单项添加到菜单中,请使用该方法。此方法创建一个新对象并将其添加到指定的菜单中。AddMenuItemPopupMenuItem 该方法采用四个参数作为输入:Index、Label、Tag 和 Macro。AddMenuItem 指定索引参数Index 参数是一个整数,用于指定新菜单项在菜单中的位置。索引以位置零 (0) 开头,作为菜单上标题之后的第一个位置。若要将新菜单项添加到菜单末尾,请将 Index 参数设置为等于菜单的属性。(菜单的属性表示该菜单上的菜单项总数。CountCount 第一个索引位置为零 (0),分隔符作为具有自己索引位置的单个菜单项列出。图中菜单的属性为六 (6)。若要在“水平平铺”和“垂直平铺”之间添加菜单项,请将“索引”参数设置为两 (2) 个,即“垂直平铺”菜单项的索引。这会将新菜单项插入索引二 (2) 中,并将所有剩余菜单项向下移动一个索引位置。Count 创建菜单项后,无法通过该属性更改菜单项的索引。要更改现有菜单项的索引,必须删除菜单项并将其重新添加到其他位置,或者添加或删除周围的菜单项,直到获得正确的位置。Index 指定 label 参数标签是定义菜单项的内容和格式的字符串。菜单项标签可以包含 DIESEL 字符串表达式,这些表达式在每次显示标签时都会有条件地更改标签。 除了 DIESEL 字符串表达式之外,标签还可能包含特殊代码。例如,直接放在字符前面的 & 符号 (&) 将该字符指定为快捷键。 用户看到的菜单项显示的文本称为 Caption,它是通过解释标签中包含的所有 DIESEL 字符串表达式和特殊代码从标签派生的。例如,标签“&Edit”会生成标题“Edit”。 创建菜单项后,可以使用该属性更改菜单项的标签。Label 指定标签参数标记或名称标记是由字母数字和下划线 (_) 字符组成的字符串。此字符串唯一标识给定菜单中的菜单项。 创建菜单项后,可以使用该属性更改菜单项的标记。TagString 指定宏参数宏是一系列命令,用于在选择菜单项时执行特定操作。菜单宏可以只是完成任务的击键记录,也可以是命令、AutoLISP、DIESEL 或 ActiveX 编程代码的复杂组合。 创建菜单项后,可以使用该属性更改菜单项的宏。Macro 将菜单项添加到弹出菜单此示例创建一个名为“TestMenu”的新菜单并插入一个菜单项。菜单项的名称为“Open”,分配给菜单项的宏是 OPEN 命令。 Sub Ch6_AddAMenuItem() Dim currMenuGroup As AcadMenuGroup Set currMenuGroup = ThisDrawing.Application.MenuGroups.Item(0) ' Create the new menu Dim newMenu As AcadPopupMenu Set newMenu = currMenuGroup.Menus.Add("TestMenu") ' Add a menu item to the new menu Dim newMenuItem As AcadPopupMenuItem Dim openMacro As String ' Assign the macro the VBA equivalent of "ESC ESC _open " openMacro = Chr(3) + Chr(3) + "_open " Set newMenuItem = newMenu.AddMenuItem _ (newMenu.count + 1, "Open", openMacro) ' Display the menu on the menu bar newMenu.InsertInMenuBar _ (ThisDrawing.Application.menuBar.count + 1) End Sub 相关概念 |
|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2024-12-15 12:53
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.