CMenu::EnableMenuItem

Włącza, wyłącza lub przyciemnia elementu menu.

UINT EnableMenuItem( 
   UINT nIDEnableItem, 
   UINT nEnable  
);

Parametry

  • nIDEnableItem
    Określa element menu ma być włączony, określone przez nEnable.Tego parametru można określić elementy menu wyskakującego, jak również elementy menu standardowe.

  • nEnable
    Określa akcję do wykonania.Może być kombinacją MF_DISABLED, MF_ENABLED, lub MF_GRAYED, z MF_BYCOMMAND lub MF_BYPOSITION.Wartości te mogą być połączone za pomocą operatora OR logiczną.Wartości te mają następujące znaczenie:

    • MF_BYCOMMAND Określa, że parametr podaje identyfikator polecenia istniejący element menu.Domyślnie włączone.

    • MF_BYPOSITION Określa, że parametr podaje położenie istniejący element menu.Pierwszy element jest w położeniu 0.

    • MF_DISABLED wyłącza element menu, tak że nie może być wybrany, ale nie dim.

    • MF_ENABLEDUmożliwia element menu, który można wybrać i przywraca go od jego stanu jako wygaszone.

    • MF_GRAYED wyłącza element menu, który nie może być wybrany i przyciemnia go.

Wartość zwracana

Poprzedni stan (MF_DISABLED, MF_ENABLED, lub MF_GRAYED) lub -1, jeśli nie jest prawidłowe.

Uwagi

CreateMenu, InsertMenu, ModifyMenu, i LoadMenuIndirect elementu menu funkcji elementów członkowskich można także ustawić stan (włączony, wyłączony lub wygaszone).

Za pomocą MF_BYPOSITION wartość wymaga aplikacji korzystanie z prawidłowego CMenu.Jeśli CMenu menu pasek jest używany, dotyczy element menu najwyższego poziomu (pozycja paska menu).Aby ustawić stan elementu w wyskakującym lub zagnieżdżonych wyskakującego menu Pozycja, należy określić aplikację CMenu z wyskakującego menu.

Gdy aplikacja Określa MF_BYCOMMAND Flaga, system Windows sprawdza wszystkie elementy wyskakujące menu, które są podrzędne w stosunku do CMenu; Dlatego, chyba że występują duplikaty elementów za pomocą CMenu menu pasek jest wystarczające.

Przykład

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

Wymagania

Nagłówek: afxwin.h

Zobacz też

Informacje

Klasa CMenu

Diagram hierarchii

CMenu::GetMenuState

EnableMenuItem