我在四元菜单中添加了一个菜单项。如何禁用和启用此菜单?
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 );
答案 0 :(得分:1)
在派生的ActionItem类中,您可以根据需要实现自己的IsEnabled方法。 例如:
class MenuActionItem : public ActionItem
{
BOOL IsEnabled()
{
return ( some_condition ) ? true : false ;
}
}
每次尝试打开四元菜单时都会调用此方法。因此,您可以在此处启用或禁用菜单项。