MenuItem.Enabled

導入

v5.0

詳細

メニュー項目が有効か(true)無効か(false)を示す Boolean 値を設定したり、戻したりします。メニューオブジェクトは有効になることも無効になることもあります。これは、メニューに定義されているすべてのメニュー項目が影響を受けることを意味します。このプロパティは、通常は特定のコンテキストに基づいたメニュー項目を更新するために使用されます。

C#構文

// get accessor

Boolean rtn = MenuItem.Enabled;

// set accessor

MenuItem.Enabled = Boolean;

JScript の例

/*

	This example showing how to enable/disable custom menus defined in 

	a self-installing plug-in.

	Adds a menu in the top menu bar with 3 menu items.

	The first item is a greyed out menu item

	The second item is greyed out submenu item

	The third item allows you to enable or disable the first and second item. 

*/

function XSILoadPlugin( in_reg )

{

	in_reg.Author = "Softimage SDK team";

	in_reg.Name = "DemoMenuPlugin";

	in_reg.Major = 1;

	in_reg.Minor = 0;

	var bSubmenu = true; // value ignored for top level menus

	var bDynamic = true;

	in_reg.RegisterMenu(siMenuMainTopLevelID,"Demo Menu",bSubmenu,bDynamic);

	return true;

}

function DemoMenu_Init( ctxt )

{	

	if ( ctxt.UserData == undefined )

	{

		// disable demo menu items if the user data is not set yet

		ctxt.UserData = false;

	}

	var menu = ctxt.Source;

	var bEnabled = ctxt.UserData;

	var strTitle = "Demo menu item is enabled";

	var strSubmenuTitle = "Demo sub menu is enabled";

	if ( bEnabled == false )

	{

		strTitle = "Demo menu item is disabled";

		strSubmenuTitle = "Demo sub menu is disabled";

	}

	var menuitem = menu.AddCallbackItem(strTitle,"OnDemoMenuItem");

	menuitem.Enabled = bEnabled;

	var submenu = menu.AddItem( strSubmenuTitle, siMenuItemSubmenu );

	submenu.AddCallbackItem(strTitle,"OnDemoMenuItem");

	submenu.Enabled = bEnabled;	

	menu.AddCallbackItem("Toggle Demo menu","OnToggleDemoMenuItem");

	return true;

}

function OnDemoMenuItem( in_ctxt )

{

	LogMessage( "OnDemoMenuItem" );

}

function OnToggleDemoMenuItem( in_ctxt )

{	

	// toggles the enabled flag

	if ( in_ctxt.UserData == true )

	{

		in_ctxt.UserData = false;

	}

	else

	{

		in_ctxt.UserData = true;

	}

}