CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 2022 开发者帮助

关于浏览菜单项的属性 (VBA/ActiveX)

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

关于浏览菜单项的属性 (VBA/ActiveX)

使用对象的属性,可以控制对象在对象上的显示和行为方式。PopupMenuItemPopupMenu

所有菜单项共享以下属性:

标签字符串
标记或名称标记是由字母数字和下划线 (_) 字符组成的字符串。此字符串唯一标识给定菜单中的菜单项。标记标识与菜单项对应的快捷键(键盘键序列)。

您可以使用该属性读取或写入标记的值。TagString

标签
标签是定义菜单项的内容和格式的字符串。

菜单项标签可以包含 DIESEL 字符串表达式,这些表达式在每次显示标签时都会有条件地更改标签。

可以使用该属性读取或写入标签的值。Label

标题
标题是用户看到的显示在菜单上的文本。此属性是只读的,通过删除任何 DIESEL 字符串表达式派生自 Label 属性。

可以使用属性读取标题的值。Caption

宏观
宏是一系列命令,用于在选择菜单项时执行特定操作。菜单宏可以只是完成任务的击键记录,也可以是命令、AutoLISP、DIESEL 或 ActiveX 编程代码的复杂组合。

可以使用该属性读取或写入菜单宏的值。Macro

帮助字符串
帮助字符串是当用户突出显示菜单项进行选择时显示在 AutoCAD 状态行中的文本字符串。

可以使用该属性读取或写入帮助字符串的值。HelpString

使
使用 Enable 属性,可以启用或禁用菜单项。您还可以读取该属性以确定菜单项当前是启用还是禁用。使用此属性启用或禁用菜单项将覆盖菜单项的 DIESEL 表达式中用于启用的任何设置。Enable
检查
使用该属性,您可以选中或取消选中菜单项。还可以读取 Check 属性以确定菜单项当前是选中还是未选中。使用此属性选中或取消选中菜单项将覆盖用于检查菜单项的 DIESEL 表达式的任何设置。Check
指数
菜单项的索引指定该菜单项在其所属菜单上的位置。菜单的索引位置始终以位置 0 开头。例如,如果该项是菜单上的第一个项,则返回索引位置 0。如果它是菜单上的第二项,则返回索引位置 1,依此类推。
类型
可以使用该属性确定菜单项的类型。菜单项可以是以下类型之一:常规菜单、分隔符或子菜单的标题。如果该项是常规菜单项,则此属性返回 。如果项是分隔符,则此属性返回 。如果项是子菜单的标题,则此属性返回 。TypeacMenuItemacMenuSeparatoracSubMenu
子菜单
可以使用该属性找到子菜单。如果菜单项的类型为 ,则此属性返回附加为子菜单或嵌入菜单的菜单。嵌入的菜单将作为对象返回。SubMenuacSubMenuPopupMenu

如果菜单项不是 的类型,则此属性将返回错误。acSubMenu

父母
可以使用该属性查找菜单项所属的菜单。此属性返回菜单项所在的菜单。父菜单作为对象返回。ParentPopupMenu

启用和禁用菜单项

此示例创建一个名为“TestMenu”的新菜单,并插入两个菜单项。然后使用该属性禁用第二个菜单项,并且该菜单将显示在菜单栏上。Enable

Sub Ch6_DisableMenuItem()
 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 two menu items and a menu separator to the new menu
 Dim MenuEnable As AcadPopupMenuItem
 Dim MenuDisable As AcadPopupMenuItem
 Dim MenuSeparator As AcadPopupMenuItem
 Dim openMacro As String

 ' Assign the macro the VB equivalent of "ESC ESC _open "
 openMacro = Chr(3) + Chr(3) + "_open "

 Set MenuEnable = newMenu.AddMenuItem _
 (newMenu.count + 1, "OpenEnabled", openMacro)
 Set MenuSeparator = newMenu.AddSeparator("")
 Set MenuDisable = newMenu.AddMenuItem _
 (newMenu.count + 1, "OpenDisabled", openMacro)

 ' Disable the second menu item
 MenuDisable.Enable = False

 ' 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 11:36

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部