Windows/MFC

CMenu (CheckMenuRadioItem) Radio style로 메뉴를 선택하기

aucd29 2013. 10. 2. 18:07
[code]우선 조건으로 CConfig Class를 MainFrm 혹은 Dlg의 Handle을 넘겨야 한다. 하단에 SetWnd가 그에 해당 하며 넘겨받은 m_pWnd을 이용해 Menu를 가져오게 되고 순차적으로 Menu를 생성하였을 때 아래와 같이 CheckMenuRadioItem 를 이용해 사용할 수 있다.[/code]

void CConfig::SetChecked(void)
{
    // Dialog의 Menu을 Access 한다.
    CMenu* pMenu = m_pWnd->GetMenu();

    // Menu를 순차적으로 생성하였기 때문에 m_nCutValue를 참조해서 메뉴
    // 를 선택 할 수 있다.
    int nPos = static_cast<int>(ID_CUTTING_3) + m_nCutValue - 3;
    pMenu->CheckMenuRadioItem(ID_CUTTING_3, ID_CUTTING_8, nPos, MF_CHECKED);
}

void CConfig::SetWnd(CWnd* pWnd)
{
    // 다이얼로그의 핸들을 가져온다.
    m_pWnd = pWnd;
}