다음을 통해 공유


CMFCStatusBar 클래스

클래스는 CMFCStatusBar 클래스와 유사한 상태 표시줄을 구현합니다 CStatusBar . 그러나 CMFCStatusBar 클래스에는 CStatusBar 클래스에 의해 제공되지 않는 기능(예: 이미지, 애니메이션 및 진행률 표시줄을 표시하는 기능 및 마우스 두 번 클릭에 응답하는 기능)이 포함되어 있습니다.

더 자세한 내용은 Visual Studio 설치의 VC\atlmfc\src\mfc 폴더에 있는 소스 코드를 참조하세요.

구문

class CMFCStatusBar : public CPane

멤버

공용 메서드

이름 설명
CMFCStatusBar::CalcFixedLayout (재정의 CBasePane::CalcFixedLayout.)
CMFCStatusBar::CommandToIndex
CMFCStatusBar::Create 컨트롤 막대를 만들어 CPane 개체에 연결합니다. (재정의 CPane::Create.)
CMFCStatusBar::CreateEx 컨트롤 막대를 만들어 CPane 개체에 연결합니다. (재정의 CPane::CreateEx.)
CMFCStatusBar::D oesAllowDynInsertBefore 이 창과 부모 프레임 사이에 다른 창을 동적으로 삽입할 수 있는지 여부를 결정합니다. (재정의 CBasePane::D oesAllowDynInsertBefore.)
CMFCStatusBar::EnablePaneDoubleClick 상태 표시줄에서 마우스 두 번 클릭 처리를 사용하거나 사용하지 않도록 설정합니다.
CMFCStatusBar::EnablePaneProgressBar 지정된 창에 진행률 표시줄을 표시합니다.
CMFCStatusBar::GetCount 상태 표시줄의 창 수를 반환합니다.
CMFCStatusBar::GetDrawExtendedArea
CMFCStatusBar::GetExtendedArea
CMFCStatusBar::GetItemID
CMFCStatusBar::GetItemRect
CMFCStatusBar::GetPaneInfo
CMFCStatusBar::GetPaneProgress
CMFCStatusBar::GetPaneStyle 창 스타일을 반환합니다. (재정의 CBasePane::GetPaneStyle.)
CMFCStatusBar::GetPaneText
CMFCStatusBar::GetPaneWidth 상태 표시줄의 지정된 창 너비를 픽셀 단위로 반환합니다.
CMFCStatusBar::GetTipText 상태 표시줄의 지정된 창에 대한 도구 설명 텍스트를 반환합니다.
CMFCStatusBar::InvalidatePaneContent 지정된 창을 무효화하고 해당 콘텐츠를 다시 그습니다.
CMFCStatusBar::P reCreateWindow CWnd 개체에 연결된 Windows 창을 만들기 전에 프레임워크에서 호출합니다. (재정의 CWnd::P reCreateWindow.)
CMFCStatusBar::SetDrawExtendedArea
CMFCStatusBar::SetIndicators
CMFCStatusBar::SetPaneAnimation 지정된 창에 애니메이션을 할당합니다.
CMFCStatusBar::SetPaneBackgroundColor 상태 표시줄의 지정된 창에 대한 배경색을 설정합니다.
CMFCStatusBar::SetPaneIcon 상태 표시줄의 지정된 창에 대한 표시기 아이콘을 설정합니다.
CMFCStatusBar::SetPaneInfo
CMFCStatusBar::SetPaneProgress 상태 표시줄의 지정된 창에 대한 진행률 표시줄의 현재 진행률을 설정합니다.
CMFCStatusBar::SetPaneStyle 창의 스타일을 설정합니다. (재정의 CBasePane::SetPaneStyle.)
CMFCStatusBar::SetPaneText
CMFCStatusBar::SetPaneTextColor 상태 표시줄의 지정된 창에 대한 텍스트 색을 설정합니다.
CMFCStatusBar::SetPaneWidth 상태 표시줄의 지정된 창 너비를 픽셀 단위로 설정합니다.
CMFCStatusBar::SetTipText 상태 표시줄의 지정된 창에 대한 도구 설명 텍스트를 설정합니다.

보호된 메서드

속성 설명
CMFCStatusBar::OnDrawPane 상태 표시줄의 창을 다시 그릴 때 프레임워크에서 호출됩니다.

설명

다음 다이어그램은 상태 표시줄 데모 샘플 애플리케이션의 상태 표시줄 그림을 보여 줍니다.

CMFCStatusBar의 예입니다.

예제

다음 예제에서는 애플리케이션 클래스에서 다양 한 메서드를 호출 하는 데 사용 하는 지역 변수를 보여 줍니다 CMFCStatusBar . 이러한 변수는 StatusBarDemoView.h에서 선언됩니다. Main 프레임은 MainFrm.h에서 선언되고, 문서는 StatusBarDemoDoc.h에 선언되고, 뷰는 StatusBarDemoView.h에 선언됩니다. 이 코드 조각은 상태 표시줄 데모 샘플일부입니다.

int m_nProgressCurr;
BOOL m_bInProgress;

CImageList m_imlStatusAnimation;
BOOL m_bInAnimation;

CBitmap m_bmpIcon1;
CBitmap m_bmpIcon2;

다음 예제에서는 MainFrm.h에서 메서드를 도입한 GetStatusBar 다음 StatusBarDemoView.h의 메서드에서 GetStatusBar 이 메서드를 호출하여 개체에 대한 참조 CMFCStatusBar 를 가져오는 방법을 보여 줍니다. 이 코드 조각은 상태 표시줄 데모 샘플일부입니다.

// in MainFrm.h
public:
CMFCStatusBar &GetStatusBar()
{
   return m_wndStatusBar;
}
// in StatusBarDemoView.h
CMFCStatusBar &GetStatusBar() const
{
   return ((CMainFrame *)AfxGetMainWnd())->GetStatusBar();
}

다음 예제에서는 StatusBarDemoView.cpp 클래스에서 다양한 메서드를 호출하는 CMFCStatusBar 방법을 보여 줍니다. 상수는 MainFrm.h에서 선언됩니다. 이 예제에서는 아이콘을 설정하고, 상태 표시줄 창의 도구 설명 텍스트를 설정하고, 지정된 창에 진행률 표시줄을 표시하고, 지정된 창에 애니메이션을 할당하고, 상태 표시줄 창의 텍스트와 너비를 설정하고, 상태 표시줄 창의 진행률 표시줄의 현재 진행률 표시기를 설정하는 방법을 보여 줍니다. 이 코드 조각은 상태 표시줄 데모 샘플일부입니다.

// in MainFrm.h
const int nStatusIcon = 0;
const int nStatusInfo = 1;
const int nStatusProgress = 2;
const int nStatusLabel = 3;
const int nStatusAnimation = 4;
// in StatusBarDemoView.cpp
GetStatusBar().SetPaneIcon(nStatusIcon, m_bmpIcon1);
GetStatusBar().SetTipText(nStatusIcon, _T("This is a tooltip"));
GetStatusBar().EnablePaneProgressBar(nStatusProgress, PROGRESS_MAX);
GetStatusBar().SetPaneAnimation(nStatusAnimation, NULL);
GetStatusBar().SetPaneAnimation(nStatusAnimation, m_imlStatusAnimation);
GetStatusBar().SetPaneText(nStatusAnimation, _T(""));
GetStatusBar().SetPaneWidth(nStatusAnimation, 16);
GetStatusBar().SetPaneProgress(nStatusProgress, m_nProgressCurr);

상속 계층 구조

CObject

CCmdTarget

CWnd

CBasePane

CPane

CMFCStatusBar

요구 사항

헤더: afxstatusbar.h

CMFCStatusBar::CalcFixedLayout

virtual CSize CalcFixedLayout(
    BOOL bStretch,
    BOOL bHorz);

매개 변수

[in] bStretch
[in] bHorz

Return Value

설명

CMFCStatusBar::CommandToIndex

int CommandToIndex(UINT nIDFind) const;

매개 변수

[in] nIDFind

Return Value

설명

CMFCStatusBar::Create

BOOL Create(
    CWnd* pParentWnd,
    DWORD dwStyle = WS_CHILD | WS_VISIBLE | CBRS_BOTTOM,
    UINT nID = AFX_IDW_STATUS_BAR);

매개 변수

[in] pParentWnd
[in] dwStyle
[in] nID

Return Value

설명

CMFCStatusBar::CreateEx

BOOL CreateEx(
    CWnd* pParentWnd,
    DWORD dwCtrlStyle = 0,
    DWORD dwStyle = WS_CHILD | WS_VISIBLE | CBRS_BOTTOM,
    UINT nID = AFX_IDW_STATUS_BAR);

매개 변수

[in] pParentWnd
[in] dwCtrlStyle
[in] dwStyle
[in] nID

Return Value

설명

CMFCStatusBar::D oesAllowDynInsertBefore

virtual BOOL DoesAllowDynInsertBefore() const;

Return Value

설명

CMFCStatusBar::EnablePaneDoubleClick

상태 표시줄에서 마우스 두 번 클릭 처리를 사용하거나 사용하지 않도록 설정합니다.

void EnablePaneDoubleClick(BOOL bEnable=TRUE);

매개 변수

bEnable
[in] TRUE이면 마우스 처리를 두 번 클릭합니다. 그렇지 않으면 마우스를 두 번 클릭할 때 처리를 사용하지 않도록 설정합니다.

설명

상태 표시줄이 두 번 클릭을 처리하도록 설정된 경우 Windows는 사용자가 상태 표시줄 창을 두 번 클릭할 때마다 리소스 ID와 함께 WM_COMMAND 알림을 상태 표시줄 소유자에게 보냅니다.

CMFCStatusBar::EnablePaneProgressBar

지정된 창에 진행률 표시줄을 표시합니다.

void EnablePaneProgressBar(
    int nIndex,
    long nTotal=100,
    BOOL bDisplayText=FALSE,
    COLORREF clrBar=-1,
    COLORREF clrBarDest=-1,
    COLORREF clrProgressText=-1);

매개 변수

nIndex
[in] 진행률 표시줄을 사용하도록 설정할 창의 인덱스를 지정합니다.

nTotal
[in] 진행률 표시줄의 최대값을 지정합니다.

bDisplayText
[in] 진행률 표시줄에 현재 진행률 값을 표시할지 여부를 지정합니다.

clrBar
[in] 진행률 표시줄의 배경색을 지정합니다.

clrBarDest
[in] 진행률 표시줄 배경의 보조 색을 지정합니다. clrBar다른 값을 사용하여 그라데이션에 혼합된 색으로 채웁니다.

clrProgressText
[in] 진행률 표시줄 텍스트의 색을 지정합니다.

설명

nTotal이 -1로 설정된 진행률 표시줄 호출 EnablePaneProgressBar 을 사용하지 않도록 설정하려면 기본적으로 nTotal 은 100으로 설정됩니다. 따라서 진행률을 백분율로 표시하기 위해 추가 계산이 필요하지 않습니다.

진행률 표시줄의 배경색이 그라데이션으로 혼합된 색을 표시할 수 있도록 clrBarclrBarDest에 대해 서로 다른 값을 전달해야 합니다. .

현재 진행률을 설정하려면 CMFCStatusBar::SetPaneProgress 메서드를 호출합니다.

CMFCStatusBar::GetCount

상태 표시줄의 창 수를 검색합니다.

int GetCount() const;

Return Value

상태 표시줄의 창 수입니다.

CMFCStatusBar::GetDrawExtendedArea

BOOL GetDrawExtendedArea() const;

Return Value

설명

CMFCStatusBar::GetExtendedArea

virtual BOOL GetExtendedArea(CRect& rect) const;

매개 변수

[in] rect

Return Value

설명

CMFCStatusBar::GetItemID

UINT GetItemID(int nIndex) const;

매개 변수

[in] nIndex

Return Value

설명

CMFCStatusBar::GetItemRect

void GetItemRect(
    int nIndex,
    LPRECT lpRect) const;

매개 변수

[in] nIndex
[in] lpRect

설명

CMFCStatusBar::GetPaneInfo

void GetPaneInfo(
    int nIndex,
    UINT& nID,
    UINT& nStyle,
    int& cxWidth) const;

매개 변수

[in] nIndex
[in] nID
[in] nStyle
[in] cxWidth

설명

CMFCStatusBar::GetPaneProgress

long GetPaneProgress(int nIndex) const;

매개 변수

[in] nIndex

Return Value

설명

CMFCStatusBar::GetPaneStyle

UINT GetPaneStyle(int nIndex) const;

매개 변수

[in] nIndex

Return Value

설명

CMFCStatusBar::GetPaneText

void GetPaneText(
    int nIndex,
    CString& s) const;

CString GetPaneText(int nIndex) const;

매개 변수

[in] nIndex
[in] s

Return Value

설명

CMFCStatusBar::GetPaneWidth

상태 표시줄 창의 너비를 검색합니다.

int GetPaneWidth(int nIndex) const;

매개 변수

nIndex
[in] 상태 표시줄 창의 인덱스를 지정합니다.

Return Value

nIndex에서 지정하는 상태 표시줄 창의 너비입니다. 그렇지 않으면 상태 표시줄 창이 0입니다.

CMFCStatusBar::GetTipText

상태 표시줄 창의 도구 설명 텍스트를 검색합니다.

CString GetTipText(int nIndex) const;

매개 변수

nIndex
[in] 도구 설명 텍스트를 검색할 창의 인덱스를 지정합니다.

Return Value

nIndex에서 지정하는 상태 표시줄 창의 도구 설명 텍스트입니다. 그렇지 않으면 지정된 nIndex 에 대한 상태 표시줄 창이 없거나 도구 설명 텍스트가 비어 있는 경우 빈 문자열입니다.

CMFCStatusBar::InvalidatePaneContent

상태 표시줄 창을 무효화하고 해당 콘텐츠를 다시 그어 줍니다.

void InvalidatePaneContent(int nIndex);

매개 변수

nIndex
[in] 콘텐츠를 무효화하고 다시 그릴 창의 인덱스를 지정합니다.

설명

상태 표시줄이 무효화되면 다시 그리기 위해 표시됩니다. 메서드가 메서드에 UpdateWindow WM_PAINT 메시지를 보낼 때 Windows에서 다시 그리기 OnPaint 합니다.

CMFCStatusBar::OnDrawPane

상태 표시줄의 창을 다시 그어 줍니다.

virtual void OnDrawPane(
    CDC* pDC,
    CMFCStatusBarPaneInfo* pPane);

매개 변수

pDC
[in] 그리기용 디바이스 컨텍스트에 대한 포인터입니다.

pPane
[in] 다시 그릴 창에 대한 정보가 들어 있는 구조체에 대한 포인터 CMFCStatusBarPaneInfo 입니다.

설명

기본적으로 OnDrawPane 창의 스타일 및 콘텐츠에 따라 디바이스 컨텍스트 pDC 를 사용하여 창을 다시 그어 줍니다.

-derived 클래스에서 이 메서드를 CMFCStatusBar재정의하여 창의 모양을 사용자 지정합니다.

CMFCStatusBar::P reCreateWindow

virtual BOOL PreCreateWindow(CREATESTRUCT& cs);

매개 변수

[in] cs

Return Value

설명

CMFCStatusBar::SetDrawExtendedArea

void SetDrawExtendedArea(BOOL bSet = TRUE);

매개 변수

[in] bSet

설명

CMFCStatusBar::SetIndicators

BOOL SetIndicators(
    const UINT* lpIDArray,
    int nIDCount);

매개 변수

[in] lpIDArray
[in] nIDCount

Return Value

설명

CMFCStatusBar::SetPaneAnimation

지정된 창에 애니메이션을 할당합니다.

void SetPaneAnimation(
    int nIndex,
    HIMAGELIST hImageList,
    UINT nFrameRate=500,
    BOOL bUpdate=TRUE);

매개 변수

nIndex
[in] 애니메이션에 할당할 창의 인덱스를 지정합니다.

hImageList
[in] 애니메이션 프레임을 포함하는 이미지 목록의 핸들을 지정합니다.

nFrameRate
[in] 애니메이션의 프레임 속도를 밀리초 단위로 지정합니다.

bUpdate
[in] TRUE이면 창 콘텐츠를 즉시 업데이트합니다. 그렇지 않으면 창 콘텐츠가 무효화되면 업데이트됩니다.

설명

현재 애니메이션을 사용하지 않도록 설정하려면 NULL로 hImageList 설정된 상태로 호출 SetPaneAnimation 합니다.

CMFCStatusBar::SetPaneBackgroundColor

상태 표시줄 창의 배경색을 설정합니다.

void SetPaneBackgroundColor(
    int nIndex,
    COLORREF clrBackground=(COLORREF)-1,
    BOOL bUpdate=TRUE);

매개 변수

nIndex
[in] 새 배경색을 설정할 창의 인덱스를 지정합니다.

clrBackground
[in] 새 배경색을 지정합니다.

bUpdate
[in] TRUE이면 창 콘텐츠를 즉시 업데이트합니다. 그렇지 않으면 다른 메서드에 의해 창이 무효화될 때까지 창 콘텐츠를 업데이트하지 마세요.

CMFCStatusBar::SetPaneIcon

상태 표시줄 창의 아이콘을 설정합니다.

void SetPaneIcon(
    int nIndex,
    HICON hIcon,
    BOOL bUpdate=TRUE);

void SetPaneIcon(
    int nIndex,
    HBITMAP hBmp,
    COLORREF clrTransparent=RGB(255, 0, 255),
    BOOL bUpdate=TRUE);

매개 변수

nIndex
[in] 이미지를 설정할 창의 인덱스를 지정합니다.

hIcon
[in] 창 이미지로 설정할 아이콘에 대한 핸들을 지정합니다.

bUpdate
[in] 창 콘텐츠를 즉시 업데이트할지 여부를 지정합니다.

hBmp
[in] 창 이미지로 설정할 비트맵에 대한 핸들을 지정합니다.

clrTransparent
[in] hBmp가 나타내는 비트맵의 투명한 색을 지정합니다.

설명

HICON 또는 HBITMAP을 투명 색과 함께 전달하여 창의 이미지를 설정할 수 있습니다. 이미지를 더 이상 표시하지 않으려면 NULL 값을 이미지 핸들로 전달합니다.

CMFCStatusBar::SetPaneAnimation설정한 실행 중인 애니메이션이 있으면 애니메이션이 중지됩니다.

CMFCStatusBar::SetPaneInfo

void SetPaneInfo(
    int nIndex,
    UINT nID,
    UINT nStyle,
    int cxWidth);

매개 변수

[in] nIndex
[in] nID
[in] nStyle
[in] cxWidth

설명

CMFCStatusBar::SetPaneProgress

지정된 창에 대한 진행률 표시줄의 현재 진행률 표시기를 설정합니다.

void SetPaneProgress(
    int nIndex,
    long nCurr,
    BOOL bUpdate=TRUE);

매개 변수

nIndex
[in] 진행률 표시기를 업데이트할 창의 인덱스를 지정합니다.

nCurr
[in] 진행률 표시기의 현재 값을 지정합니다.

bUpdate
[in] 창을 즉시 업데이트할지 여부를 지정합니다.

설명

지정된 창에서 진행률 표시줄의 진행률 표시기를 업데이트하려면 이 메서드를 호출합니다.

지정된 창에 이 함수를 사용하려면 CMFCStatusBar::EnablePaneProgressBar를 먼저 호출해야 합니다.

CMFCStatusBar::SetPaneStyle

void SetPaneStyle(
    int nIndex,
    UINT nStyle);

매개 변수

[in] nIndex
[in] nStyle

설명

CMFCStatusBar::SetPaneText

virtual BOOL SetPaneText(
    int nIndex,
    LPCTSTR lpszNewText,
    BOOL bUpdate = TRUE);

매개 변수

[in] nIndex
[in] lpszNewText
[in] bUpdate

Return Value

설명

CMFCStatusBar::SetPaneTextColor

지정된 창의 텍스트 색을 설정합니다.

void SetPaneTextColor(
    int nIndex,
    COLORREF clrText=(COLORREF)-1,
    BOOL bUpdate=TRUE);

매개 변수

nIndex
[in] 새 텍스트 색을 할당할 창의 인덱스를 지정합니다.

clrText
[in] 텍스트 색을 지정합니다.

bUpdate
[in] TRUE이면 창 콘텐츠를 즉시 업데이트합니다. 그렇지 않으면 다른 메서드에 의해 창이 무효화될 때까지 창 콘텐츠를 업데이트하지 마세요.

CMFCStatusBar::SetPaneWidth

상태 표시줄 창의 너비를 설정합니다.

void SetPaneWidth(
    int nIndex,
    int cx);

매개 변수

nIndex
[in] 새 너비를 설정할 상태 표시줄 창의 인덱스입니다.

cx
[in] 상태 표시줄 창의 새 너비(픽셀)입니다.

CMFCStatusBar::SetTipText

상태 표시줄 창의 도구 설명 텍스트를 설정합니다.

void SetTipText(
    int nIndex,
    LPCTSTR pszTipText);

매개 변수

nIndex
[in] 도구 설명 텍스트를 할당할 창의 인덱스입니다.

pszTipText
[in] 새 도구 설명 텍스트입니다.

참고 항목

계층 구조 차트
클래스
CPane 클래스
CStatusBar 클래스