subMenu を使用して、項目を右クリック メニューに配置します。カーソルを置くと、追加のユーザ インタフェース項目を含むサブメニューが開きます。subMenu 構文は次のようになります。
subMenu <label> [ filter:<function> ] ( <submenu_body> )
<submenu_body>
は、次のような一連の RCMenu 句で構成されています。
<submenu_body> ::= { <rcmenu_clause> }+
パラメータ
label:
右クリック メニューに表示される文字列
filter:
ブール値を返す関数です。filter 関数は、右クリック メニューが初めて開かれるときに評価されます。filter 関数が true
を返す場合は、subMenu がメニュー内に表示されます。false を返す場合は、subMenu は表示されません。
例:
rcmenu MyRCmenu ( fn flt_objects = ($ != undefined) -- objects filter fn flt_shapes = (isKindOf $ Shape) -- shapes filter menuItem mi_cs "Cast Shadows" checked:false menuItem mi_rs "Receive Shadows" checked:false separator sep2 filter:flt_objects subMenu "Modifiers" filter:flt_objects -- begin subMenu ( -- Add common objects menuItem mi_bend "Bend" menuItem mi_twist "Twist" -- Add shape only modifiers separator sep3 filter:flt_shapes subMenu "Shape" filter:flt_shapes -- begin nested subMenu ( menuItem mi_extrude "Extrude" menuItem mi_EditSpline "Edit Spline" ) ) -- event handlers would go here... ) registerRightClickMenu MyRcmenu -- register the rcmenu