CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 2020 开发者帮助

关于向菜单添加新菜单项 (VBA/ActiveX)

2024-5-18 18:19| 发布者: admin| 查看: 76| 评论: 0|原作者: admin|来自: AutoCAD

关于向菜单添加新菜单项 (VBA/ActiveX)

若要将新菜单项添加到菜单中,请使用该方法。此方法创建一个新对象并将其添加到指定的菜单中。AddMenuItemPopupMenuItem

该方法采用四个参数作为输入:IndexLabelTagMacroAddMenuItem

指定索引参数

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

路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1   苏公网安备32011402011833)

GMT+8, 2024-12-15 12:53

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部