将子菜单添加到现有菜单。 支持的平台:仅窗口 签名工 务 局: RetVal = object.AddSubMenu(Index, Label)
言论此方法创建一个新对象并将其添加到指定的菜单中。这种特殊类型的对象被分配了 的类型。PopupMenuItemPopupMenuItemacSubmenu 在下面的示例菜单中,“对齐文本”菜单项已插入到“维度”菜单中的第 17 个索引处。“对齐文本”菜单项的类型。示例中的所有其他菜单项都属于键入器。选择“对齐文本”时显示的小级联菜单是该方法返回的新菜单。它已使用 和 方法填充。acSubmenuacMenuItemacMenuSeparatorAddSubmenuAddMenuItemAddSeparator 例子工 务 局: Sub Example_AddSubMenu() ' This example creates a new menu called TestMenu and inserts a submenu item ' called NewFile. It then creates a menu item, called open, ' on the submenu. ' The menu is then displayed on the menu bar. ' To remove the menu after execution of this macro, use the Customize Menu ' option from the Tools menu. 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 the submenu Dim FileSubMenu As AcadPopupMenu Set FileSubMenu = newMenu.AddSubMenu("", "NewFile") ' Add a menu item to the sub menu Dim newMenuItem As AcadPopupMenuItem Dim openMacro As String ' Assign the macro string the VB equivalent of "ESC ESC _open " openMacro = Chr(3) & Chr(3) & Chr(95) & "open" & Chr(32) Set newMenuItem = FileSubMenu.AddMenuItem(newMenu.count + 1, "Open", openMacro) ' Display the menu on the menu bar newMenu.InsertInMenuBar ThisDrawing.Application.MenuBar.count + 1 End Sub Visual LISP: (vl-load-com) (defun c:Example_AddSubMenu() ;; This example creates a new menu called TestMenu and inserts a submenu item ;; called NewFile. It then creates a menu item, called open, ;; on the submenu. ;; The menu is then displayed on the menu bar. ;; To remove the menu after execution of this macro, use the Customize Menu ;; option from the Tools menu. (setq acadObj (vlax-get-acad-object)) (setq currMenuGroup (vla-Item (vla-get-MenuGroups acadObj) 0)) ;; Create the new menu (setq newMenu (vla-Add (vla-get-Menus currMenuGroup) "TestMenu")) ;; Add the submenu (setq FileSubMenu (vla-AddSubMenu newMenu "" "NewFile")) ;; Assign the macro string the VB equivalent of "ESC ESC _open " (setq openMacro (strcat (Chr 3) (Chr 3) (Chr 95) "open" (Chr 32))) (setq newMenuItem (vla-AddMenuItem FileSubMenu (1+ (vla-get-Count newMenu)) "Open" openMacro)) ;; Display the menu on the menu bar (vla-InsertInMenuBar newMenu (1+ (vla-get-Count (vla-get-MenuBar acadObj)))) ;; Display the menu bar (vla-SetVariable doc "MENUBAR" 1) ) |
|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2025-1-8 19:07
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.