다음을 통해 공유


CMenu::EnableMenuItem

활성화, 비활성화, 또는 메뉴 항목이 흐리게 표시 합니다.

UINT EnableMenuItem( 
   UINT nIDEnableItem, 
   UINT nEnable  
);

매개 변수

  • nIDEnableItem
    따라 메뉴 항목을 사용할 수 있게 지정 nEnable. 이 매개 변수는 표준 메뉴 항목 뿐만 아니라 팝업 메뉴 항목을 지정할 수 있습니다.

  • nEnable
    수행할 작업을 지정 합니다. 조합한 것 MF_DISABLED, MF_ENABLED, 또는 MF_GRAYEDMF_BYCOMMAND 또는 MF_BYPOSITION. 이러한 값은 비트 OR 연산자를 사용 하 여 결합할 수 있습니다. 이러한 값의 의미는 다음과 같습니다.

    • MF_BYCOMMAND 지정 매개 변수는 기존 메뉴 항목의 명령 ID를 제공 합니다. 이 값이 기본값입니다.

    • MF_BYPOSITION 매개 변수는 기존 메뉴 항목의 위치를 수를 지정 합니다. 첫 번째 항목은 0 위치에 있습니다.

    • MF_DISABLED 선택할 수 없습니다 하지만 흐리게 표시 하지 않도록 메뉴 항목을 사용할 수 없습니다.

    • MF_ENABLED선택 하 고 흐리게 표시 된 상태에서 복원 될 수 있도록 메뉴 항목이 있습니다.

    • MF_GRAYED 선택할 수 없습니다 하 고 흐리게 표시 하 여 메뉴 항목을 사용할 수 없습니다.

반환 값

이전 상태 (MF_DISABLED, MF_ENABLED, 또는 MF_GRAYED) 또는 유효 하지 않은 경우-1입니다.

설명

CreateMenu, InsertMenu, ModifyMenu, 및 LoadMenuIndirect 멤버 함수 상태 (활성화, 비활성화, 또는 희미하게) 메뉴 항목을 설정할 수도 있습니다.

사용 하는 MF_BYPOSITION 값 올바른 사용 하는 응용 프로그램에 필요한 CMenu. 경우는 CMenu 메뉴의 막대를 사용 하 되, 최상위 메뉴 항목 (메뉴 모음에 있는 항목)에 영향을 받습니다. 팝업 또는 중첩 된 팝업 메뉴 위치에서 항목의 상태를 설정 하려면 응용 프로그램을 지정 해야는 CMenu 팝업 메뉴입니다.

때 응용 프로그램을 지정은 MF_BYCOMMAND Windows 확인 플래그에 종속 되는 모든 팝업 메뉴 항목의 CMenu; 따라서 중복 된 메뉴 항목이 없으면 사용 하는 CMenu 의 메뉴 표시줄 충분.

예제

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

요구 사항

헤더: afxwin.h

참고 항목

참조

CMenu 클래스

계층 구조 차트

CMenu::GetMenuState

EnableMenuItem