CMenu::EnableMenuItem
활성화, 비활성화, 또는 메뉴 항목이 흐리게 표시 합니다.
UINT EnableMenuItem(
UINT nIDEnableItem,
UINT nEnable
);
매개 변수
nIDEnableItem
따라 메뉴 항목을 사용할 수 있게 지정 nEnable. 이 매개 변수는 표준 메뉴 항목 뿐만 아니라 팝업 메뉴 항목을 지정할 수 있습니다.nEnable
수행할 작업을 지정 합니다. 조합한 것 MF_DISABLED, MF_ENABLED, 또는 MF_GRAYED와 MF_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