Windows/MFC

CMenu, Disabled, EnableMenuItem (메뉴를 동적으로 비 활성화 하기)

aucd29 2013. 10. 2. 17:58
[code]void CDunzipCloneDlg::SetMenu(UINT nSetMenu)
{
    // MF_BYCOMMAND | MF_ENABLED                : Enabled
    // MF_BYCOMMAND | MF_DISABLED | MF_GRAYED    : Disabled

    CMenu* pMenu    = GetMenu();                        // 압축 닫기 활성화
    CMenu* pSubMenu = pMenu->GetSubMenu(0);

    pSubMenu->EnableMenuItem(ID_CLOSE_COMPRESS, nSetMenu);

    pSubMenu = pMenu->GetSubMenu(1);                    // 압축 풀기 메뉴 비활성화
    pSubMenu->EnableMenuItem(ID_DECOMPRESS, nSetMenu);    // 압축풀기 비활성화
    pSubMenu->EnableMenuItem(ID_ADD,        nSetMenu);    // 추가비활성화
    pSubMenu->EnableMenuItem(ID_RENAME,        nSetMenu);    // 이름바꾸기 비활성화
    pSubMenu->EnableMenuItem(ID_DELETE,        nSetMenu);    // 삭제하기 비활성화
    pSubMenu->EnableMenuItem(ID_SELECT_ALL, nSetMenu);    // 삭제하기 비활성화
}[/code]