Adds a separator to an existing menu or toolbar.
Supported platforms: Windows only
VBA:
RetVal = object.AddSeparator(Index)
The objects this method applies to.
Access: Input-only
Type: Variant
The index location in the menu or toolbar where the item is to be added.
If an integer is used to specify a given location in the menu or toolbar, the index must be between 1 and N-1, where N is the number of objects in the popup menu or in the toolbar. The separator will be added immediately before the specified index location. To add the separator to the end of a menu or toolbar, set the index to be greater than N.
If a string is specified and the indexed item does not exist, then the separator is added at the end of the menu or toolbar.
The first item in a menu or toolbar cannot be a separator, therefore you cannot add a separator into index position 0.
You cannot add a separator immediately next to another separator.
VBA:
Sub Example_AddSeparator() ' This example creates a new menu called TestMenu and inserts a menu item ' and a separator into it. 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 a menu item to the new 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 = newMenu.AddMenuItem(newMenu.count + 1, "Open", openMacro) ' Add a separator to the end of the menu Dim newMenuSeparator As AcadPopupMenuItem Set newMenuSeparator = newMenu.AddSeparator("") ' Display the menu on the menu bar newMenu.InsertInMenuBar ThisDrawing.Application.MenuBar.count + 1 End Sub
Visual LISP:
(vl-load-com) (defun c:Example_AddSeparator() ;; This example creates a new menu called TestMenu and inserts a menu item ;; and a separator into it. 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 a menu item to the new menu (setq openMacro (strcat (Chr 3) (Chr 3) (Chr 95) "open" (Chr 32))) (setq newMenuItem (vla-AddMenuItem newMenu (1+ (vla-get-Count newMenu)) "Open" openMacro)) ;; Add a separator to the end of the menu (setq newMenuSeparator (vla-AddSeparator newMenu "")) ;; 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) )