メニューを AutoCAD メニュー バーに挿入します。
サポートされているプラットフォーム: Windows のみ
VBA:
object.InsertMenuInMenuBar MenuName, Index
タイプ: PopupMenus
このメソッドが適用されるオブジェクト。
アクセス: 入力のみ
タイプ: 文字列
メニュー バーに挿入するポップアップ メニューの名前。
アクセス: 入力のみ
タイプ: バリアント型
メニューのポップアップ メニューを配置するインデックス。インデックスは整数または文字列でなければなりません。
整数の場合、Index は 0 から N-1 までとし、この場合 N はメニューバー内のポップアップ メニューの数です。
文字列の場合、ポップアップ メニューの名前はメニューに表示されるアンダースコアを含んでいなければなりません。
戻り値はありません。
メニューは指定されたインデックス位置の直前に挿入されます。
VBA:
Sub Example_InsertMenuInMenuBar()
' This example creates a new menu called TestMenu and inserts a menu item
' into it. The menu is then displayed on the menu bar.
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)
' Display the menu on the menu bar
currMenuGroup.Menus.InsertMenuInMenuBar "TestMenu", ""
End Sub
Visual LISP:
(vl-load-com)
(defun c:Example_InsertMenuInMenuBar()
;; This example creates a new menu called TestMenu and inserts a menu item
;; into it. The menu is then displayed on the menu bar.
(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
;; 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 newMenu (1+ (vla-get-Count newMenu)) "Open" openMacro))
;; Display the menu on the menu bar
(vla-InsertMenuInMenuBar (vla-get-Menus currMenuGroup) "TestMenu" "")
;; Display the menu bar
(vla-SetVariable doc "MENUBAR" 1)
)