使用3ds max sdk禁用/启用四元菜单项

时间:2015-02-23 11:53:34

标签: c++ sdk 3dsmax

我在四元菜单中添加了一个菜单项。如何禁用和启用此菜单?

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 );

1 个答案:

答案 0 :(得分:1)

在派生的ActionItem类中,您可以根据需要实现自己的IsEnabled方法。 例如:

class MenuActionItem : public ActionItem
{
    BOOL IsEnabled()
    {
        return ( some_condition ) ? true : false ;
    }
}

每次尝试打开四元菜单时都会调用此方法。因此,您可以在此处启用或禁用菜单项。