Vla-addsubmenu
- 構文
- (vla-addsubmenu vla-object Index Label)
- 機能
- 既存のメニューにサブメニューを追加する。
- 引数
-
- vla-object … PopupMenu の VLAオブジェクト
- Index … 頂点を追加するメニューのインデックス位置
- 整数を使用して、メニュー内の与えられた位置を指定する場合、インデックスは 0 から N-1 まで。N はポップアップ メニュー内のオブジェクトの数。この項目は、指定されたインデックス位置の直前に追加される。メニューの最後に新しいメニュー項目を加えるには、インデックスを N より大きく設定する。 文字列が指定され、インデックスされた項目が存在しない場合、新しいメニュー項目はメニューの最後に追加される。
- Label … メニュー項目のラベル。ラベルは DIESEL 文字列式を含むことがある。ラベルはアクセラレータ文字の前にアンパサンド(&)を付けることにより、メニュー項目に該当するアクセラレータ キー(キーボードのキー シーケンス)も識別する。
- 戻り値
- 新しく作成されるサブメニューのVLAオブジェクト。新しいカスケード メニューは空白だが、メニューの標準操作で項目を追加することができる。
- 注意
- このメソッドは新しい PopupMenuItem オブジェクトを作成し、指定されたメニューに追加るす。この特殊な PopupMenuItem オブジェクトにはタイプ acSubmenu が割り当てられる。
- サンプル
(vl-load-com) (defun c:Example_AddSubMenu() ;; テストメニューを追加してサブメニューを追加するサンプル ;; 追加されたメニューはカスタマイズから削除する (setq acadObj (vlax-get-acad-object)) (setq currMenuGroup (vla-Item (vla-get-MenuGroups acadObj) 0)) ;; 新しいメニューの作成 (setq newMenu (vla-Add (vla-get-Menus currMenuGroup) "TestMenu")) ;; サブメニュー追加 ;; マクロは ^C^C_open (setq FileSubMenu (vla-AddSubMenu newMenu "" "NewFile")) (setq openMacro (strcat (Chr 3) (Chr 3) (Chr 95) "open" (Chr 32))) (setq newMenuItem (vla-AddMenuItem FileSubMenu (1+ (vla-get-Count newMenu)) "Open" openMacro)) ;; メニュー追加して表示 (vla-InsertInMenuBar newMenu (1+ (vla-get-Count (vla-get-MenuBar acadObj)))) (vla-SetVariable doc "MENUBAR" 1) )
関連事項