Vla-attachtoolbartoflyout

提供:GizmoLabs - だいたい CAD LISP なサイト
2015年1月27日 (火) 22:08時点におけるGizmon (トーク | 投稿記録)による版 (ページの作成:「{{AutoLISP}} ; 構文 : (vla-attachtoolbartoflyout ''vla-object'' ''MenuGroupName'' ''ToolbarName'') ; 機能 : フライアウトとして定義されたツールバ...」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
(vla-attachtoolbartoflyout vla-object MenuGroupName ToolbarName)


機能
フライアウトとして定義されたツールバー ボタンにツールバーをアタッチする。


引数
  • vla-object … ToolbarItem の VLA オブジェクト
  • MenuGroupName … アタッチするツールバーを含むメニュー グループの名前。
  • ToolbarName … アタッチするツールバーの名前。


戻り値
nil


  • MEMO
新しいボタンをフライアウトとして作成するには、vla-addtoolbarbutton メソッドを使用し FlyoutButton パラメータを True に設定する。一度ボタンをフライアウト ボタンとして作成すれば、vla-attachtoolbartoflyout メソッドによりそのボタンにフライアウト ツールバーをアタッチできる。

ツールバー ボタンがフライアウト ボタンかどうかを知るには、Type プロパティを使用する。フライアウト ツールバー ボタンにアタッチされているツールバーを調べるには、Flyout プロパティを使用する。


サンプル
(defun c:Example_AttachToolbarToFlyout()
    ;; この例では、CADのメインメニューへの参照を取得するために MenuGroups を使用している。
    ;; その後、フライアウトとして機能するツールバーボタンを使用して新しいツールバー(TestMenu)を
    ;; 作成し、その後、既存のツールバーメニューにフライアウトメニューを設定。
    ;; ツールバーが自動的に表示され、フライアウトなどのUCSメニューが表示される。
    (setq currMenuGroup (vla-Item (vla-get-MenuGroups (vlax-get-acad-object)) 0))
      
    ;; ツールバーを生成
    (setq newToolBar (vla-Add (vla-get-Toolbars currMenuGroup) "TestMenu"))
    
    ;; TestMenu にボタンを追加してフライアウトを設定
    ;;
    ;; *注意:
    ;; それのための設定空の文字列にフライアウトツールバーの名前にマクロ名を設定するには、エラーが発生する。
    ;; パラメータは、実際にスタイルがフライアウトのときは無視されるが、 ""以外の値を持っている必要がある。
    (setq newToolBarFlyoutButton (vla-AddToolbarButton newToolBar (1+ (vla-get-Count newToolBar)) "Flyout" "Flyout" "UCS" :vlax-true))
    
    ;; 新しいツールバーボタンのフライアウトとして既存のツールバー「UCS」をリンクする
    ;;
    ;; * NOTE: フライアウトを変更するには、単に以下のMenuGroupとツールバー名を変更
    (vla-AttachToolbarToFlyout newToolBarFlyoutButton "ACAD" "UCS")
   
    (alert "フライアウト付きツールバー作ったぉ")
)

関連事項