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 처리기를 검색하고 호출하며, 각 처리기는 멤버 함수(예: EnableCheck)를 호출 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이면 un검사s;이고, 1이면 검사s;이고, 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);
}

참고 항목

MFC 샘플 MDI
계층 구조 차트
CCmdTarget 클래스