프로그래밍/MFC
MFC 메뉴 항목 갱신(상태 변경)
에어버스
2016. 6. 21. 12:31
- 명령 갱신 핸들러 (Command Update Handler)
메뉴 항목 각각의 상태를 갱신하기 위한 함수 - 툴바, 상태바 상태를 바꿀때도 사용
해당 메뉴가 열리기 전에 MFC에서 자동으로 각 메뉴 항목에 대한 명령 갱신 핸들러를 호출하여 메뉴 항목의 상태를 바꾸어 준다.
아래 그림과 같이 메시지에서 UPDATE_COMMAND_UI 를 선택해야 한다.
아래 코드는 http://petra.tistory.com/913 (코드3)에서 이어지며, 바탕색에 따라 해당 메뉴 항목에 체크 표를 해준다.
1
2
3
4
5
6
7
8
9
10
11 |
BEGIN_MESSAGE_MAP(CMFCApplication4View, CView)
...
ON_UPDATE_COMMAND_UI(ID_RED, &CMFCApplication4View::OnUpdateRed)
ON_UPDATE_COMMAND_UI(ID_GREEN, &CMFCApplication4View::OnUpdateGreen)
ON_UPDATE_COMMAND_UI(ID_BLUE, &CMFCApplication4View::OnUpdateBlue)
END_MESSAGE_MAP()
void CMFCApplication4View::OnUpdateRed(CCmdUI *pCmdUI)
{
pCmdUI->SetCheck(m_color == RGB(255, 0, 0));
} |
cs |
<CCmdUI 클래스 멤버함수들>
멤버함수 |
의미 |
사용 예 |
Enable(BOOL) |
활성화 상태 변경 |
pCmdUI->Enable(b_DrawMode) |
SetCheck(BOOL) |
체크 상태 변경 |
pCmdUI->SetCheck(m_color == RGB(255, 0, 0)) |
SetRadio(BOOL) |
라디오 표시 상태 변경 |
pCmdUI->SetRadio(m_color == RGB(255, 0, 0)) |
SetText(LPCTSTR) |
문자열 변경 |
pCmdUI->SetText(L"Light On"); |