submenu

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