다음을 통해 공유


상태 표시줄 창의 텍스트 업데이트

이 문서에서는 MFC 상태 표시줄 창에 표시 되는 텍스트를 변경 하는 방법을 설명 합니다.상태 표시줄-window 개체 클래스의 프로그램 -포함 몇 가지 "창." 각 창에 정보를 표시 하는 데 사용할 수 있는 상태 표시줄의 사각형 영역입니다.예를 들어, 많은 응용 프로그램이 오른쪽 창에 CAPS LOCK, NUM LOCK 및 기타 키의 상태를 표시합니다.응용 프로그램에는 종종 "메시지 창"이 라고도 하는 정보 제공 용 텍스트 왼쪽 창 (창 0) 표시 예를 들어, 기본 MFC 상태 표시줄 메시지 창을 사용 하 여 현재 선택한 메뉴 항목이 나 도구 모음 단추를 설명 하는 문자열을 표시 합니다.그림에서 상태 표시줄 MFC 응용 프로그램 마법사로 만든 응용 프로그램에서 상태 표시줄을 표시 합니다.

기본적으로 MFC 않습니다 사용 하지는 CStatusBar 의 창을 만들면 창.창을 활성화 하려면 사용 해야 해당 ON_UPDATE_COMMAND_UI 매크로 상태에 따라 각 창에 대 한 막대 및 창 업데이트 합니다.창을 보내지 않음 때문에 WM_COMMAND 메시지 (도구 모음 단추 처럼 되지), 코드를 수동으로 입력 해야 합니다.

예를 들어, 한 창 것으로 가정 ID_INDICATOR_PAGE 를 명령의 식별자로 문서에서 현재 페이지 번호를 포함 합니다.다음은 상태 표시줄에 새 창을 만드는 방법을 설명 합니다.

새 창을 만들려면

  1. 창의 명령 ID를 정의 합니다.

    보기 메뉴를 클릭 자원 보기.프로젝트 리소스를 마우스 오른쪽 단추로 클릭 하 고 클릭 리소스 기호.리소스 기호 대화 상자에서 클릭 New.명령 ID 이름을 입력 합니다: 예를 들어, ID_INDICATOR_PAGE.ID 값을 지정 하거나 리소스 기호 대화 상자에서 제시한 값을 적용 합니다.예를 들어, ID_INDICATOR_PAGE, 기본값을 사용 합니다.리소스 기호 대화 상자를 닫습니다.

  2. 창에 표시 하는 기본 문자열을 정의 합니다.

    열린 리소스 뷰를 두 번 문자열 테이블 응용 프로그램 리소스 종류를 나열 하는 창에서입니다.로 문자열 테이블 편집기 열기 선택 새 문자열 에서 삽입 메뉴.명령 ID를 창에서 문자열 속성 창에서 선택 (예를 들어, ID_INDICATOR_PAGE) 및 "페이지"와 같은 기본 문자열 값을 입력 합니다.문자열 편집기를 닫습니다.(기본 문자열 컴파일러 오류가 발생 하지 않도록 해야 합니다.)

  3. 추가 창에는 지표 배열.

    한 파일에 있습니다.CPP를 찾기는 지표 배열.이 배열의 모든 순서는 왼쪽에서 오른쪽 상태 표시줄 표시기에 대 한 명령 id가 나열 됩니다.배열의 해당 지점에서 여기에 나와 있는 것 처럼 해당 창 명령 ID를 입력 ID_INDICATOR_PAGE:

    static UINT indicators[] =
    {
       ID_SEPARATOR,           // status line indicator
       ID_INDICATOR_CAPS,
       ID_INDICATOR_NUM,
       ID_INDICATOR_SCRL,
       ID_INDICATOR_PAGE,
    };
    

창에 텍스트를 표시 하는 것이 좋으며 호출 하는 것은 SetText 클래스의 멤버 함수 CCmdUI 업데이트 처리기 함수는 창에 대 한.예를 들어, integer 변수를 설정 하려면 원하는 수 있습니다 m_nPage 의 현재 페이지 번호 및 사용을 포함 SetText 해당 번호의 문자열 버전을의 창 텍스트를 설정 합니다.

[!참고]

SetText 접근 방식을 권장 합니다.약간 낮은 수준에서이 작업을 호출 하 여 수행 하는 것이 가능은 CStatusBar 멤버 함수 SetPaneText.경우에 업데이트 처리기가 필요 합니다.처리기가 없는 창, MFC 자동으로 창에서 내용을 지우고 비활성화 됩니다.

다음 절차는 업데이트 처리기 함수를 사용 하 여 텍스트 창에 표시 하는 방법을 보여 줍니다.

텍스트를 표시 하는 창을 만들려면

  1. 명령에 대 한 명령 업데이트 처리기를 추가 합니다.

    여기에 나와 있는 것 처럼 처리기를 프로토타입을 수동으로 추가 ID_INDICATOR_PAGE (에 한 합니다.H):

    afx_msg void OnUpdatePage(CCmdUI *pCmdUI);
    
  2. 적절 한에.CPP 파일을 여기에 나와 있는 것 처럼 처리기의 정의 추가 ID_INDICATOR_PAGE (에 한 합니다.CPP):

    void CMainFrame::OnUpdatePage(CCmdUI *pCmdUI)
    {
        pCmdUI->Enable(); 
        CString strPage;
        strPage.Format(_T("Page %d"), m_nPage); 
        pCmdUI->SetText(strPage); 
    }
    

    이 처리기의 마지막 세 줄 텍스트를 표시 하는 코드입니다.

  3. 적절 한 메시지 맵에 추가 ON_UPDATE_COMMAND_UI 여기에 나와 있는 것 처럼 매크로 ID_INDICATOR_PAGE (에 한 합니다.CPP):

    ON_UPDATE_COMMAND_UI(ID_INDICATOR_PAGE, &CMainFrame::OnUpdatePage)
    

값을 정의 하면 해당 m_nPage 멤버 변수 (클래스의 CMainFrame),이 방법은 페이지 번호 창에서 유휴 처리 하는 동안 동일한 방식으로 응용 프로그램에서 다른 표시기를 업데이트를 하면 됩니다.경우 m_nPage 변경, 표시 변경 내용을 다음 유휴 루프 동안.

a9ys3wsb.collapse_all(ko-kr,VS.110).gif추가 정보

참고 항목

참조

CStatusBar 클래스

개념

Mfc에서 상태 표시줄 구현