获取会话的菜单组集合。 支持的平台:仅窗口 言论没有额外的评论。 例子工 务 局: Sub Example_MenuGroups() ' This example uses MenuGroups to obtain a reference to the AutoCAD main menu. ' It then creates a new menu called TestMenu and inserts a menu item ' into it. The menu is then displayed on the menu bar. ' ' The menu item will be automatically removed when AutoCAD is restarted Dim currMenuGroup As acadMenuGroup Dim newMenu As AcadPopupMenu, newMenuItem As AcadPopupMenuItem Dim openMacro As String On Error GoTo ERRORTRAP ' Use MenuGroups property to obtain reference to main AutoCAD menu Set currMenuGroup = ThisDrawing.Application.MenuGroups.Item("ACAD") ' Create the new menu in this group Set newMenu = currMenuGroup.Menus.Add("TestMenu") ' Add a menu item to the new menu and ' assign an Open macro (VBA equivalent of: "ESC ESC _open ") openMacro = Chr(3) & Chr(3) & Chr(95) & "open" & Chr(32) Set newMenuItem = newMenu.AddMenuItem(newMenu.count + 1, "Open", openMacro) ' Display the menu on the menu bar newMenu.InsertInMenuBar (ThisDrawing.Application.MenuBar.count + 1) MsgBox "A new menu has been added to the ACAD menu system!" Exit Sub ERRORTRAP: MsgBox "The following error has occurred: " & Err.Description End Sub Visual LISP: (vl-load-com) (defun c:Example_MenuGroups() ;; This example uses MenuGroups to obtain a reference to the AutoCAD main menu. ;; It then creates a new menu called TestMenu and inserts a menu item ;; into it. The menu is then displayed on the menu bar. ;; ;; The menu item will be automatically removed when AutoCAD is restarted (setq acadObj (vlax-get-acad-object)) ;; Use MenuGroups property to obtain reference to main AutoCAD menu (setq currMenuGroup (vla-Item (vla-get-MenuGroups acadObj) "ACAD")) ;; Create the new menu in this group (setq newMenu (vla-Add (vla-get-Menus currMenuGroup) "TestMenu")) ;; Add a menu item to the new menu and ;; assign an Open macro (VBA equivalent of: "ESC ESC _open ") (setq openMacro (strcat (Chr 3) (Chr 3) (Chr 95) "open" (Chr 32))) (setq newMenuItem (vla-AddMenuItem newMenu (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)))) (alert "A new menu has been added to the ACAD menu system!") ) |
|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2025-1-8 19:49
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.