MenuGroups Property (ActiveX)

Gets the MenuGroups collection for the session.

Supported platforms: Windows only

Signature

VBA:

object.MenuGroups
object

Type: Application

The object this property applies to.

Property Value

Read-only: Yes

Type: MenuGroups

The MenuGroups collection for the session.

Remarks

No additional remarks.

Examples

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

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!")
)