subMenu を使用して、項目を右クリック メニューに配置します。カーソルを置くと、追加のユーザ インタフェース項目を含むサブメニューが開きます。subMenu 構文は次のようになります。
subMenu <label> [ filter:<function> ] ( <submenu_body> )
<submenu_body>
は、次のような一連の RCMenu 句で構成されています。
<submenu_body> ::= { <rcmenu_clause> }+
パラメータ
右クリック メニューに表示される文字列
ブール値を返す関数です。filter 関数は、右クリック メニューが初めて開かれるときに評価されます。filter 関数が
true
を返す場合は、subMenu がメニュー内に表示されます。false を返す場合は、subMenu は表示されません。
例:
|
rcmenu MyRCmenu
(
fn flt_objects = ($ != undefined) -- オブジェクト フィルタr
fn flt_shapes = (isKindOf $ Shape) -- シェイプ フィルタ
menuItem mi_cs "Cast Shadows" checked:false
menuItem mi_rs "Receive Shadows" checked:false
separator sep2 filter:flt_objects
subMenu "Modifiers" filter:flt_objects -- subMenu を開始
(
-- 共通オブジェクトを追加
menuItem mi_bend "Bend"
menuItem mi_twist "Twist"
-- シェイプのみのモディファイヤを追加
separator sep3 filter:flt_shapes
subMenu "Shape" filter:flt_shapes -- ネストされた subMenu を開始
(
menuItem mi_extrude "Extrude"
menuItem mi_EditSpline "Edit Spline"
)
)
-- イベント ハンドラをここに入れる...
)
registerRightClickMenu MyRcmenu -- rcmenu を登録します。
|