Vla-addseparator

提供:GizmoLabs - だいたい CAD LISP なサイト
2015年2月8日 (日) 14:57時点におけるGizmon (トーク | 投稿記録)による版 (ページの作成:「{{AutoLISP}} ; 構文 : (vla-addseparator ''vla-object'' ''Index'') ; 機能 : 既存のメニューまたはツールバーに区分線を追加。 ; 引数 :* vla...」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
(vla-addseparator vla-object Index)


機能
既存のメニューまたはツールバーに区分線を追加。


引数
  • vla-object … VLAオブジェクト(PopupMenu、Toolbar)
  • Index … 項目を追加するメニューまたはツールバーのインデックス位置。
  • 整数の場合はメニュー内の与えられた位置を指定する 1 から N-1 まで。N はポップアップ メニュー内のオブジェクトの数。
  • 区分線は、指定されたインデックス位置の"直前"に追加される。メニューまたはツールバーの最後に区分線を加えるには、インデックスを N より大きくする。文字列が指定され、インデックスされた項目が存在しない場合、区分線はメニューまたはツールバーの最後に追加される。


戻り値
新しく作成される区分線の項目 のVLAオブジェクト


サンプル
(vl-load-com)
(defun c:Example_AddSeparator()
    ;; テストメニューを作成してセパレータを追加するサンプル
    ;; 追加したメニューはカスタマイズから削除
    (setq acadObj (vlax-get-acad-object))
    (setq currMenuGroup (vla-Item (vla-get-MenuGroups acadObj) 0))

    ;; 新しいメニューを作成
    (setq newMenu (vla-Add (vla-get-Menus currMenuGroup) "TestMenu"))
    
    ;; メニューにアイテムを追加
    (setq openMacro (strcat (Chr 3) (Chr 3) (Chr 95) "open" (Chr 32)))
    (setq newMenuItem (vla-AddMenuItem newMenu (1+ (vla-get-Count newMenu)) "Open" openMacro))
    
    ;; メニューにセパレータを追加
    (setq newMenuSeparator (vla-AddSeparator newMenu ""))
    
    ;; メニューを追加して表示
    (vla-InsertInMenuBar newMenu (1+ (vla-get-Count (vla-get-MenuBar acadObj))))
    (vla-SetVariable doc "MENUBAR" 1)
)

関連事項