CCmdUI 클래스
파생 클래스의 ON_UPDATE_COMMAND_UI
처리기 CCmdTarget
내에서만 사용됩니다.
구문
class CCmdUI
멤버
공용 메서드
이름 | 설명 |
---|---|
CCmdUI::ContinueRouting | 명령 라우팅 메커니즘에 현재 메시지를 처리기 체인 아래로 계속 라우팅하도록 지시합니다. |
CCmdUI::Enable | 이 명령에 대한 사용자 인터페이스 항목을 사용하거나 사용하지 않도록 설정합니다. |
CCmdUI::SetCheck | 이 명령에 대한 사용자 인터페이스 항목의 확인 상태를 설정합니다. |
CCmdUI::SetRadio | 멤버 함수와 SetCheck 비슷하지만 라디오 그룹에서 작동합니다. |
CCmdUI::SetText | 이 명령에 대한 사용자 인터페이스 항목의 텍스트를 설정합니다. |
공용 데이터 멤버
속성 | 설명 |
---|---|
CCmdUI::m_nID | 사용자 인터페이스 개체의 ID입니다. |
CCmdUI::m_nIndex | 사용자 인터페이스 개체의 인덱스입니다. |
CCmdUI::m_pMenu | 개체가 나타내는 메뉴를 가리킵니다 CCmdUI . |
CCmdUI::m_pOther | 알림을 보낸 창 개체를 가리킵니다. |
CCmdUI::m_pSubMenu | 개체가 나타내는 포함된 하위 메뉴를 가리킵니다 CCmdUI . |
설명
CCmdUI
에는 기본 클래스가 없습니다.
애플리케이션 사용자가 메뉴를 풀다운하는 경우 각 메뉴 항목이 사용하도록 설정 또는 비활성화된 상태로 표시되어야 하는지 여부를 알고 있어야 합니다. 메뉴 명령의 대상은 ON_UPDATE_COMMAND_UI 처리기를 구현하여 이 정보를 제공합니다. 애플리케이션의 각 명령 사용자 인터페이스 개체에 대해 클래스 마법사 또는 속성 창(클래스 뷰)을 사용하여 각 처리기에 대한 메시지 맵 항목 및 함수 프로토타입을 만듭니다.
메뉴가 풀다운되면 프레임워크는 각 ON_UPDATE_COMMAND_UI 처리기를 검색하고 호출하며, 각 처리기는 멤버 함수(예: Enable
및Check
)를 호출 CCmdUI
하고 프레임워크는 각 메뉴 항목을 적절하게 표시합니다.
메뉴 항목은 처리기 내에서 ON_UPDATE_COMMAND_UI
코드를 변경하지 않고 컨트롤 바 단추 또는 다른 명령 사용자 인터페이스 개체로 바꿀 수 있습니다.
다음 표에서는 멤버 함수가 다양한 명령 사용자 인터페이스 항목에 미치는 영향을 CCmdUI
요약합니다.
사용자 인터페이스 항목 | Enable | SetCheck | SetRadio | SetText |
---|---|---|---|---|
메뉴 항목 | 사용하거나 사용하지 않도록 설정 | 검사 또는 선택 취소 | 점을 사용하여 검사 | 항목 텍스트 설정 |
도구 모음 단추 | 사용하거나 사용하지 않도록 설정 | 선택, 선택 취소 또는 확정되지 않음 | SetCheck 과 같음 |
(해당 없음) |
상태 표시줄 창 | 텍스트를 표시하거나 보이지 않게 합니다. | 팝아웃 또는 일반 테두리 설정 | SetCheck 과 같음 |
창 텍스트 설정 |
의 기본 단추 CDialogBar |
사용하거나 사용하지 않도록 설정 | 확인란을 선택하거나 선택 취소합니다. | SetCheck 과 같음 |
단추 텍스트 설정 |
의 일반 제어 CDialogBar |
사용하거나 사용하지 않도록 설정 | (해당 없음) | (해당 없음) | 창 텍스트 설정 |
이 클래스의 사용에 대한 자세한 내용은 사용자 인터페이스 개체를 업데이트하는 방법을 참조 하세요.
상속 계층 구조
CCmdUI
요구 사항
헤더: afxwin.h
CCmdUI::ContinueRouting
이 멤버 함수를 호출하여 명령 라우팅 메커니즘에 처리기 체인 아래로 현재 메시지를 계속 라우팅하도록 지시합니다.
void ContinueRouting();
설명
FALSE를 반환하는 ON_COMMAND_EX 처리기와 함께 사용해야 하는 고급 멤버 함수입니다. 자세한 내용은 기술 참고 6을 참조하세요.
CCmdUI::Enable
이 명령의 사용자 인터페이스 항목을 사용하거나 사용하지 않도록 설정하려면 이 멤버 함수를 호출합니다.
virtual void Enable(BOOL bOn = TRUE);
매개 변수
본
항목을 사용하도록 설정하려면 TRUE, FALSE를 사용하여 사용하지 않도록 설정합니다.
예시
ON_UPDATE_COMMAND_UI(ID_FILE_SAVE, &CMyDoc::OnUpdateFileSave)
void CMyDoc::OnUpdateFileSave(CCmdUI *pCmdUI)
{
// Enable the menu item if the file has been modified.
pCmdUI->Enable(m_bModified);
}
CCmdUI::m_nID
메뉴 항목, 도구 모음 단추 또는 개체가 나타내는 다른 사용자 인터페이스 개체의 CCmdUI
ID입니다.
UINT m_nID;
CCmdUI::m_nIndex
메뉴 항목, 도구 모음 단추 또는 개체가 나타내는 다른 사용자 인터페이스 개체의 CCmdUI
인덱스입니다.
UINT m_nIndex;
CCmdUI::m_pMenu
개체가 나타내는 메뉴에 CMenu
대한 포인터(형식)입니다 CCmdUI
.
CMenu* m_pMenu;
설명
항목이 메뉴가 아니면 NULL입니다.
CCmdUI::m_pSubMenu
개체가 CMenu
나타내는 CCmdUI
포함된 하위 메뉴에 대한 포인터(형식)입니다.
CMenu* m_pSubMenu;
설명
항목이 메뉴가 아니면 NULL입니다. 하위 메뉴가 팝업 인 경우 m_nID 팝업 메뉴에 있는 첫 번째 항목의 ID를 포함합니다. 자세한 내용은 Technical Note 21을 참조하세요.
CCmdUI::m_pOther
알림을 보낸 도구 또는 상태 표시줄과 같은 창 개체에 대한 포인터(형식 CWnd
)입니다.
CWnd* m_pOther;
설명
항목이 메뉴이거나 개체 CWnd
가 아닌 경우 NULL입니다.
CCmdUI::SetCheck
이 멤버 함수를 호출하여 이 명령에 대한 사용자 인터페이스 항목을 적절한 확인 상태로 설정합니다.
virtual void SetCheck(int nCheck = 1);
매개 변수
nCheck
설정할 확인 상태를 지정합니다. 0이면 선택을 취소합니다. 1이면 확인합니다. 2이면 확정되지 않은 값을 설정합니다.
설명
이 멤버 함수는 메뉴 항목 및 도구 모음 단추에 대해 작동합니다. 확정되지 않은 상태는 도구 모음 단추에만 적용됩니다.
CCmdUI::SetRadio
이 멤버 함수를 호출하여 이 명령에 대한 사용자 인터페이스 항목을 적절한 확인 상태로 설정합니다.
virtual void SetRadio(BOOL bOn = TRUE);
매개 변수
본
항목을 사용하도록 설정하려면 TRUE입니다. 그렇지 않으면 FALSE입니다.
설명
이 멤버 함수는 라디오 그룹의 일부로 작동하는 사용자 인터페이스 항목에서 작동한다는 점을 제외하고 다음과 같이 SetCheck
작동합니다. 항목 자체가 라디오 그룹 동작을 유지하지 않는 한 그룹의 다른 항목 선택을 취소하는 것은 자동으로 수행되지 않습니다.
CCmdUI::SetText
이 멤버 함수를 호출하여 이 명령에 대한 사용자 인터페이스 항목의 텍스트를 설정합니다.
virtual void SetText(LPCTSTR lpszText);
매개 변수
lpszText
텍스트 문자열에 대한 포인터입니다.
예시
void CMyRichEditView::OnUpdateLineNumber(CCmdUI *pCmdUI)
{
int nLine = GetRichEditCtrl().LineFromChar(-1) + 1;
CString string;
string.Format(_T("Line %d"), nLine);
pCmdUI->Enable(TRUE);
pCmdUI->SetText(string);
}