Disable/Enable 使用 3ds max sdk 的四元菜单项
Disable/Enable quad menu item using 3ds max sdk
我在四元菜单中添加了一个菜单项。如何禁用和启用此菜单?
IQuadMenuContext* pContext = (IQuadMenuContext*) GetCOREInterface()->GetMenuManager()->GetContext(kViewportQuad);
IMenu *pMenuInQuadMenu = NULL;
IQuadMenu *pQuadMenu = pContext->GetMenu(0);
pMenuInQuadMenu = pQuadMenu->GetMenu(0);
IMenuItem* pNewMenuItem = GetIMenuItem();
pNewMenuItem->SetActionItem( pAction );
pNewMenuItem->SetUseCustomTitle(true);
pNewMenuItem->SetTitle(L"Menu Item");
pMenuInQuadMenu->AddItem( pNewMenuItem,0 );
在您派生的 class ActionItem 中,您可以根据需要实现自己的 IsEnabled 方法。
例如:
class MenuActionItem : public ActionItem
{
BOOL IsEnabled()
{
return ( some_condition ) ? true : false ;
}
}
每次尝试打开四元菜单时都会调用此方法。因此,您可以在此处启用或禁用菜单项。
我在四元菜单中添加了一个菜单项。如何禁用和启用此菜单?
IQuadMenuContext* pContext = (IQuadMenuContext*) GetCOREInterface()->GetMenuManager()->GetContext(kViewportQuad);
IMenu *pMenuInQuadMenu = NULL;
IQuadMenu *pQuadMenu = pContext->GetMenu(0);
pMenuInQuadMenu = pQuadMenu->GetMenu(0);
IMenuItem* pNewMenuItem = GetIMenuItem();
pNewMenuItem->SetActionItem( pAction );
pNewMenuItem->SetUseCustomTitle(true);
pNewMenuItem->SetTitle(L"Menu Item");
pMenuInQuadMenu->AddItem( pNewMenuItem,0 );
在您派生的 class ActionItem 中,您可以根据需要实现自己的 IsEnabled 方法。 例如:
class MenuActionItem : public ActionItem
{
BOOL IsEnabled()
{
return ( some_condition ) ? true : false ;
}
}
每次尝试打开四元菜单时都会调用此方法。因此,您可以在此处启用或禁用菜单项。