「Vla-put-macro」の版間の差分

提供:GizmoLabs - だいたい CAD LISP なサイト
(ページの作成:「{{AutoLISP}} ; 構文 : (vla-put-macro ''vla-object'' ''macro'' ) ; 機能 : メニューまたはツールバー項目のマクロを指定する。 ; 引数 :* vla...」)
 
編集の要約なし
 
48行目: 48行目:
* [[vlax-get-acad-object]]
* [[vlax-get-acad-object]]
* [[vla-get-activedocument]]
* [[vla-get-activedocument]]
* [[vla-put-]]
* [[vla-put-macro]]
* [[vla-get-]]
* [[vla-get-macro]]




[[Category:AutoLISP]]
[[Category:AutoLISP]]

2016年1月26日 (火) 22:11時点における最新版

構文
(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)))
)


関連事項