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 フレームワークがステータス バーのウィンドウを再描画するときに呼び出されます。

解説

次の図は、 Status Bar Demo サンプル アプリケーションのステータス バーの図を示しています。

CMFCStatusBar の例。

次の例は、アプリケーションが CMFCStatusBar クラスのさまざまなメソッドを呼び出すために使用するローカル変数を示しています。 これらの変数は StatusBarDemoView.h で宣言されています。 メイン フレームは MainFrm.h で宣言され、ドキュメントは StatusBarDemoDoc.h で宣言され、ビューは StatusBarDemoView.h で宣言されます。 このコード スニペットは、 Status Bar Demo サンプルの一部です。

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 オブジェクトへの参照を取得する方法を示します。 このコード スニペットは、 Status Bar Demo サンプルの一部です。

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

次の例では、StatusBarDemoView.cpp の CMFCStatusBar クラスのさまざまなメソッドを呼び出す方法を示します。 定数は MainFrm.h で宣言されています。 この例では、アイコンの設定、ステータス バー ウィンドウのツールヒント テキストの設定、指定したペインへの進行状況バーの表示、指定したペインへのアニメーションの割り当て、ステータス バー ウィンドウのテキストと幅の設定、ステータス バー ウィンドウの進行状況バーの現在の進行状況インジケーターの設定を行う方法を示します。 このコード スニペットは、 Status Bar Demo サンプルの一部です。

// 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

要件

Header: afxstatusbar.h

CMFCStatusBar::CalcFixedLayout

virtual CSize CalcFixedLayout(
    BOOL bStretch,
    BOOL bHorz);

パラメーター

[入力] bStretch
[in] bHorz

戻り値

解説

CMFCStatusBar::CommandToIndex

int CommandToIndex(UINT nIDFind) const;

パラメーター

[入力] nIDFind

戻り値

解説

CMFCStatusBar::Create

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

パラメーター

[入力] pParentWnd
[入力] dwStyle
[入力] nID

戻り値

解説

CMFCStatusBar::CreateEx

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

パラメーター

[入力] pParentWnd
[入力] dwCtrlStyle
[入力] dwStyle
[入力] nID

戻り値

解説

CMFCStatusBar::D oesAllowDynInsertBefore

virtual BOOL DoesAllowDynInsertBefore() const;

戻り値

解説

CMFCStatusBar::EnablePaneDoubleClick

ステータス バーのマウス ダブルクリックの処理を有効または無効にします。

void EnablePaneDoubleClick(BOOL bEnable=TRUE);

パラメーター

bEnable
[in]TRUE の場合は、マウスのダブルクリックの処理を有効にします。 それ以外の場合は、マウスのダブルクリックの処理を無効にします。

解説

ステータス バーでダブルクリックの処理が有効になっている場合、ユーザーがステータス バー ウィンドウをダブルクリックするたびに、リソース 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]進行状況バーの背景の 2 番目の色を指定します。 グラデーションにブレンドされた色で塗りつぶすには、 clrBar とは異なる値を使用します。

clrProgressText
[in]進行状況バーのテキストの色を指定します。

解説

nTotal で進行状況バーの呼び出しEnablePaneProgressBarを無効にする場合は -1 に設定します。 既定では、 nTotal は 100 に設定されています。 そのため、進行状況をパーセンテージで表示するために追加の計算は必要ありません。

進行状況バーの背景色にグラデーションにブレンドされた色が表示されるように、 clrBarclrBarDest に異なる値を渡す必要があります。 .

現在の進行状況を設定するには、 CMFCStatusBar::SetPaneProgress メソッドを呼び出します。

CMFCStatusBar::GetCount

ステータス バーのペインの数を取得します。

int GetCount() const;

戻り値

ステータス バーのペインの数。

CMFCStatusBar::GetDrawExtendedArea

BOOL GetDrawExtendedArea() const;

戻り値

解説

CMFCStatusBar::GetExtendedArea

virtual BOOL GetExtendedArea(CRect& rect) const;

パラメーター

[in] rect

戻り値

解説

CMFCStatusBar::GetItemID

UINT GetItemID(int nIndex) const;

パラメーター

[入力] nIndex

戻り値

解説

CMFCStatusBar::GetItemRect

void GetItemRect(
    int nIndex,
    LPRECT lpRect) const;

パラメーター

[入力] nIndex
[入力] lpRect

解説

CMFCStatusBar::GetPaneInfo

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

パラメーター

[入力] nIndex
[入力] nID
[入力] nStyle
[入力] cxWidth

解説

CMFCStatusBar::GetPaneProgress

long GetPaneProgress(int nIndex) const;

パラメーター

[入力] nIndex

戻り値

解説

CMFCStatusBar::GetPaneStyle

UINT GetPaneStyle(int nIndex) const;

パラメーター

[入力] nIndex

戻り値

解説

CMFCStatusBar::GetPaneText

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

CString GetPaneText(int nIndex) const;

パラメーター

[入力] nIndex
[入力] s

戻り値

解説

CMFCStatusBar::GetPaneWidth

ステータス バーのウィンドウの幅を取得します。

int GetPaneWidth(int nIndex) const;

パラメーター

nIndex
[in]ステータス バー ウィンドウのインデックスを指定します。

戻り値

nIndex が指定するステータス バー ウィンドウの幅。それ以外の場合は、ステータス バー ウィンドウが存在しない場合は 0。

CMFCStatusBar::GetTipText

ステータス バーのウィンドウのツールヒント テキストを取得します。

CString GetTipText(int nIndex) const;

パラメーター

nIndex
[in]ツール ヒント テキストを取得するペインのインデックスを指定します。

戻り値

nIndexが指定するステータス バー ウィンドウのツールヒント テキスト。 それ以外の場合は、指定した nIndex のステータス バー ウィンドウが存在しない場合、またはそのヒント テキストが空の場合は、空の文字列。

CMFCStatusBar::InvalidatePaneContent

ステータス バー ウィンドウを無効にし、その内容を再描画します。

void InvalidatePaneContent(int nIndex);

パラメーター

nIndex
[in]コンテンツを無効にして再描画するペインのインデックスを指定します。

解説

ステータス バーが無効になると、再描画のマークが付けられます。 UpdateWindow メソッドがWM_PAINT メッセージを OnPaint メソッドに送信すると、Windows によって再描画されます。

CMFCStatusBar::OnDrawPane

ステータス バーのウィンドウを再描画します。

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

パラメーター

pDC
[in]描画用のデバイス コンテキストへのポインター。

pPane
[in]再描画するペインに関する情報を含む CMFCStatusBarPaneInfo 構造体へのポインター。

解説

既定では、OnDrawPaneは、ウィンドウのスタイルとコンテンツに応じてデバイス コンテキスト pDC を使用してペインを再描画します。

ウィンドウの外観をカスタマイズするには、 CMFCStatusBar派生クラスでこのメソッドをオーバーライドします。

CMFCStatusBar::P reCreateWindow

virtual BOOL PreCreateWindow(CREATESTRUCT& cs);

パラメーター

[入力] cs

戻り値

解説

CMFCStatusBar::SetDrawExtendedArea

void SetDrawExtendedArea(BOOL bSet = TRUE);

パラメーター

[入力] bSet

解説

CMFCStatusBar::SetIndicators

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

パラメーター

[入力] lpIDArray
[入力] nIDCount

戻り値

解説

CMFCStatusBar::SetPaneAnimation

指定したペインにアニメーションを割り当てます。

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

パラメーター

nIndex
[in]アニメーションに割り当てるペインのインデックスを指定します。

hImageList
[in]アニメーション フレームを保持するイメージ リストへのハンドルを指定します。

nFrameRate
[in]アニメーションのフレーム レートをミリ秒単位で指定します。

bUpdate
[in]TRUE の場合は、すぐにペインの内容を更新します。 それ以外の場合、ペインの内容は無効になると更新されます。

解説

現在のアニメーションを無効にする場合は、hImageListを NULL に設定して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);

パラメーター

[入力] nIndex
[入力] nID
[入力] nStyle
[入力] 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);

パラメーター

[入力] nIndex
[入力] nStyle

解説

CMFCStatusBar::SetPaneText

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

パラメーター

[入力] nIndex
[入力] lpszNewText
[入力] bUpdate

戻り値

解説

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 クラス