MenuGroups 属性 (ActiveX)
获取会话的 MenuGroups 集合。 支持的平台:仅限 Windows 言论没有其他评论。 例子VBA: 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 可视化 LISP: (vl-load-com) (defun c:Example_MenuGroups() ;; This example uses MenuGroups to obtain a reference to the 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 the product is restarted (setq acadObj (vlax-get-acad-object)) (if (= (strcase (getvar "PROGRAM") T) "acad") (setq sMenuGroupName "ACAD") (setq sMenuGroupName "ACADLT") ) ;; Use MenuGroups property to obtain reference to main menu (setq currMenuGroup (vla-Item (vla-get-MenuGroups acadObj) sMenuGroupName)) ;; 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 (strcat "A new menu has been added to the " sMenuGroupName " menu system!")) ) |
|Archiver|CAD开发者社区
( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2025-3-28 16:36
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.