Vla-put-macro

提供:GizmoLabs - だいたい CAD LISP なサイト
構文
(vla-put-macro vla-object macro )


機能
メニューまたはツールバー項目のマクロを指定する。


引数
  • vla-object … VLAオブジェクト(PopupMenuItem、ToolbarItem)
  • macro … メニューまたはツールバー項目に関連付けられたマクロの名前。


戻り値
nil


サンプル
(vl-load-com)
(defun c:Example_Macro()
    ;; TestMenuと呼ばれる新しいメニューを作成し、その中にメニュー項目を挿入、
    ;; メニューにメニューバーを表示するサンプル。
    ;; このマクロの実行後はメニューを削除するには、[ツール]メニューから
    ;; [カスタマイズ]メニューオプションを使用する。
    (setq acadObj (vlax-get-acad-object))
    (setq currMenuGroup (vla-Item (vla-get-MenuGroups acadObj) 0))
    
    ;; 新しいメニューを作成
    (setq newMenu (vla-Add (vla-get-Menus currMenuGroup) "TestMenu"))
    
    ;; メニューにアイテムを追加
    ;; 「ESC ESC _open」に相当する VB マクロ文字列を割り当てる
    (setq openMacro (strcat (Chr 3) (Chr 3) (Chr 95) "open" (Chr 32)))
    (setq newMenuItem (vla-AddMenuItem newMenu (1+ (vla-get-Count newMenu)) "Open" openMacro))
    
    ;; メニューバーにメニューを表示
    (vla-InsertInMenuBar newMenu (1+ (vla-get-Count (vla-get-MenuBar acadObj))))

    (alert (strcat "[開く] メニュー項目のマクロは : " (vla-get-Macro newMenuItem)))
)


関連事項