CMenu::EnableMenuItem
Povolí, zakáže nebo ztlumí položky nabídky.
UINT EnableMenuItem(
UINT nIDEnableItem,
UINT nEnable
);
Parametry
nIDEnableItem
Určuje položku povoleno, dle nEnable .Tento parametr můžete určit položky místní nabídky, stejně jako standardní položky.nEnable
Určuje akci přijmout.Může být kombinace MF_DISABLED, MF_ENABLED , nebo MF_GRAYED, s MF_BYCOMMAND nebo MF_BYPOSITION.Tyto hodnoty lze kombinovat pomocí bitového operátoru OR.Tyto hodnoty mají následující význam:MF_BYCOMMAND Určuje, že parametr poskytuje ID příkazu existující položky nabídky.Toto nastavení je výchozí.
MF_BYPOSITION Určuje, že parametr dává pozice existující položku nabídky.První položka je na pozici 0.
MF_DISABLED tak, že nelze vybrat, ale nikoli dim jej zakáže položky nabídky.
MF_ENABLEDUmožňuje položky nabídky, takže lze vybrat a obnoví ze stavu šedě.
MF_GRAYED zakáže položky nabídky tak, aby jej ztlumí a nemůže být vybrán.
Vrácená hodnota
Předchozí stav (MF_DISABLED, MF_ENABLED , nebo MF_GRAYED) nebo –1, pokud není platný.
Poznámky
CreateMenu, InsertMenu, ModifyMenu, a LoadMenuIndirect funkce členů můžete také nastavit stav (povoleno, zakázáno nebo šedě) položky nabídky.
Použití MF_BYPOSITION hodnotu vyžaduje aplikace používat správné CMenu .Pokud CMenu v nabídce panelu se používá, je ovlivněna nabídka nejvyšší úrovně (zboží v řádku nabídek).Nastavit stav položky v místní nebo vnořené rozbalovací nabídky podle umístění, musíte zadat aplikaci CMenu z rozbalovací nabídky.
Určuje, kdy aplikace MF_BYCOMMAND příznak, systém Windows zkontroluje všechny položky místní nabídky, které jsou podřízené CMenu ; proto, pokud existují duplicitní položky, použití CMenu panel nabídky je dostatečná.
Příklad
// The code fragment below shows how to disable (and gray out) the
// File\New menu item.
// NOTE: m_bAutoMenuEnable is set to FALSE in the constructor of
// CMainFrame so no ON_UPDATE_COMMAND_UI or ON_COMMAND handlers are
// needed, and CMenu::EnableMenuItem() will work as expected.
CMenu* mmenu = GetMenu();
CMenu* submenu = mmenu->GetSubMenu(0);
submenu->EnableMenuItem(ID_FILE_NEW, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
Požadavky
Záhlaví: afxwin.h