ポップアップ メニュー項目をポップアップ メニューに追加します。
サポートされているプラットフォーム: Windows のみ
VBA:
RetVal = object.AddMenuItem(Index, Label, Macro)
タイプ: PopupMenu
このメソッドが適用されるオブジェクト。
アクセス: 入力のみ
タイプ: バリアント型
項目を追加するポップアップ メニューのインデックス位置。インデックスは整数または文字列でなければなりません。
整数を使用して、メニュー内の与えられた位置を指定する場合、インデックスは 0 から N-1 までとします。N はポップアップ メニュー内のオブジェクトの数です。 この項目は、指定されたインデックス位置の直前に追加されます。メニューの最後に新しいメニュー項目を加えるには、インデックスを N より大きく設定します。
文字列が指定され、インデックスされた項目が存在しない場合、新しいメニュー項目はメニューの最後に追加されます。
アクセス: 入力のみ
タイプ: 文字列
メニュー項目のラベル。ラベルは DIESEL 文字列式を含むことがあります。ラベルは、アクセラレータ文字の前にアンパサンド(&)を付けることにより、メニュー項目に該当するアクセラレータ キー(キーボードのキー シーケンス)もまた識別します。
アクセス: 入力のみ
タイプ: 文字列
このメニュー項目に関連付けられたマクロの名前。
追加の注意はありません。
VBA:
Sub Example_AddMenuItem() ' This example creates a new menu called TestMenu and inserts a menu item ' 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) ' Display the menu on the menu bar newMenu.InsertInMenuBar ThisDrawing.Application.MenuBar.count + 1 End Sub
Visual LISP:
(vl-load-com) (defun c:Example_AddMenuItem() ;; This example creates a new menu called TestMenu and inserts a menu item ;; 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 ;; 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-InsertInMenuBar newMenu (1+ (vla-get-Count (vla-get-MenuBar acadObj)))) ;; Display the menu bar (vla-SetVariable doc "MENUBAR" 1) )