CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

ActiveX 开发指南

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

2023-1-4 22:18| 发布者: admin| 查看: 604| 评论: 0|来自: AutoCAD

摘要: 使用 PopupMenuItem 对象的属性,可以控制它在 PopupMenu 对象上的显示和行为方式。

使用对象的属性,可以控制对象在对象上的显示和行为方式。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 )

GMT+8, 2024-5-19 14:00

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部