「Vla-addmenuitem」の版間の差分
(ページの作成:「{{AutoLISP}} ; 構文 : (vla-addmenuitem ''vla-object'' ''Index'' ''Label'' ''Macro'') ; 機能 : ポップアップ メニュー項目をポップアップ メニュ...」) |
細編集の要約なし |
||
11行目: | 11行目: | ||
:* vla-object … PopupMenu の VLAオブジェクト | :* vla-object … PopupMenu の VLAオブジェクト | ||
:* Index … 項目を追加するポップアップ メニューのインデックス位置。インデックスは整数または文字列でなければならない。 | :* Index … 項目を追加するポップアップ メニューのインデックス位置。インデックスは整数または文字列でなければならない。 | ||
::* 整数を使用して、メニュー内の与えられた位置を指定する場合、インデックスは 0 から N-1 まで。N はポップアップ メニュー内のオブジェクトの数。この項目は、指定されたインデックス位置の直前に追加される。メニューの最後に新しいメニュー項目を加えるには、インデックスを N より大きく設定する。文字列が指定され、インデックスされた項目が存在しない場合、新しいメニュー項目はメニューの最後に追加される。 | ::* 整数を使用して、メニュー内の与えられた位置を指定する場合、インデックスは 0 から N-1 まで。N はポップアップ メニュー内のオブジェクトの数。この項目は、指定されたインデックス位置の直前に追加される。メニューの最後に新しいメニュー項目を加えるには、インデックスを N より大きく設定する。文字列が指定され、インデックスされた項目が存在しない場合、新しいメニュー項目はメニューの最後に追加される。 | ||
:* Label … メニュー項目のラベル。ラベルは DIESEL 文字列式を含むことがある。ラベルは、アクセラレータ文字の前にアンパサンド(&)を付けることにより、メニュー項目に該当するアクセラレータ キー(キーボードのキー シーケンス)を識別する。 | :* Label … メニュー項目のラベル。ラベルは DIESEL 文字列式を含むことがある。ラベルは、アクセラレータ文字の前にアンパサンド(&)を付けることにより、メニュー項目に該当するアクセラレータ キー(キーボードのキー シーケンス)を識別する。 | ||
:* Macro … このメニュー項目に関連付けられたマクロの名前。 | :* Macro … このメニュー項目に関連付けられたマクロの名前。 |
2015年2月8日 (日) 14:46時点における最新版
- 構文
- (vla-addmenuitem vla-object Index Label Macro)
- 機能
- ポップアップ メニュー項目をポップアップ メニューに追加する。
- 引数
-
- vla-object … PopupMenu の VLAオブジェクト
- Index … 項目を追加するポップアップ メニューのインデックス位置。インデックスは整数または文字列でなければならない。
- 整数を使用して、メニュー内の与えられた位置を指定する場合、インデックスは 0 から N-1 まで。N はポップアップ メニュー内のオブジェクトの数。この項目は、指定されたインデックス位置の直前に追加される。メニューの最後に新しいメニュー項目を加えるには、インデックスを N より大きく設定する。文字列が指定され、インデックスされた項目が存在しない場合、新しいメニュー項目はメニューの最後に追加される。
- Label … メニュー項目のラベル。ラベルは DIESEL 文字列式を含むことがある。ラベルは、アクセラレータ文字の前にアンパサンド(&)を付けることにより、メニュー項目に該当するアクセラレータ キー(キーボードのキー シーケンス)を識別する。
- Macro … このメニュー項目に関連付けられたマクロの名前。
- 戻り値
- 新しく作成されるポップアップ メニュー項目 のVLAオブジェクト
- サンプル
(vl-load-com) (defun c:Example_AddMenuItem() ;; 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")) ;; 新しいメニューに項目を追加 ;; マクロは、^C^C_open (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)))) (vla-SetVariable doc "MENUBAR" 1) )
関連事項