次の方法で共有


CMFCCaptionBar クラス

CMFCCaptionBar オブジェクトは、ボタン、テキスト ラベル、ビットマップの 3 つの要素を表示できるコントロール バーです。 表示できる各要素の数は 1 つずつです。 各要素は、コントロールの左端、右端、または中央に揃えて配置できます。 また、キャプション バーの上部または下部の境界線にフラット スタイルまたは 3D スタイルを適用することもできます。

構文

class CMFCCaptionBar : public CPane

メンバー

パブリック メソッド

名前 説明
CMFCCaptionBar::Create キャプション バー コントロールを作成し、 CMFCCaptionBar オブジェクトにアタッチします。
CMFCCaptionBar::D oesAllowDynInsertBefore キャプション バーとその親フレームの間に別のウィンドウを動的に挿入できるかどうかを示します。 ( をオーバーライドしますCBasePane::D oesAllowDynInsertBefore.)
CMFCCaptionBar::EnableButton キャプション バーのボタンを有効または無効にします。
CMFCCaptionBar::GetAlignment 指定した要素の配置を返します。
CMFCCaptionBar::GetBorderSize キャプション バーの境界線のサイズを返します。
CMFCCaptionBar::GetButtonRect キャプション バーのボタンの外接する四角形を取得します。
CMFCCaptionBar::GetMargin キャプション バー要素の端とキャプション バー コントロールの端との間の距離を返します。
CMFCCaptionBar::IsMessageBarMode キャプション バーがメッセージ バー モードかどうかを指定します。
CMFCCaptionBar::RemoveBitmap キャプション バーからビットマップ イメージを削除します。
CMFCCaptionBar::RemoveButton キャプション バーからボタンを削除します。
CMFCCaptionBar::RemoveIcon キャプション バーからアイコンを削除します。
CMFCCaptionBar::RemoveText キャプション バーからテキスト ラベルを削除します。
CMFCCaptionBar::SetBitmap キャプション バーのビットマップイメージを設定します。
CMFCCaptionBar::SetBorderSize キャプション バーの境界線のサイズを設定します。
CMFCCaptionBar::SetButton キャプション バーのボタンを設定します。
CMFCCaptionBar::SetButtonPressed ボタンを押したままにするかどうかを指定します。
CMFCCaptionBar::SetButtonToolTip ボタンのヒントを設定します。
CMFCCaptionBar::SetFlatBorder キャプション バーの罫線のスタイルを設定します。
CMFCCaptionBar::SetIcon キャプション バーのアイコンを設定します。
CMFCCaptionBar::SetImageToolTip キャプション バーの画像のヒントを設定します。
CMFCCaptionBar::SetMargin キャプション バー要素の端とキャプション バー コントロールの端との間の距離を設定します。
CMFCCaptionBar::SetText キャプション バーのテキスト ラベルを設定します。

保護メソッド

名前 説明
CMFCCaptionBar::OnDrawBackground キャプション バーの背景を埋めるためにフレームワークによって呼び出されます。
CMFCCaptionBar::OnDrawBorder キャプション バーの境界線を描画するためにフレームワークによって呼び出されます。
CMFCCaptionBar::OnDrawButton キャプション バー ボタンを描画するためにフレームワークによって呼び出されます。
CMFCCaptionBar::OnDrawImage キャプション バーイメージを描画するためにフレームワークによって呼び出されます。
CMFCCaptionBar::OnDrawText キャプション バーのテキストを描画するためにフレームワークによって呼び出されます。

データ メンバー

名前 説明
CMFCCaptionBar::m_clrBarBackground キャプション バーの背景色。
CMFCCaptionBar::m_clrBarBorder キャプション バーの境界線の色。
CMFCCaptionBar::m_clrBarText キャプション バーのテキストの色。

解説

キャプション バーを作成するには、次の手順に従います。

  1. CMFCCaptionBar オブジェクトを構築します。 通常は、フレーム ウィンドウ クラスにキャプション バーを追加します。

  2. CMFCCaptionBar::Create メソッドを呼び出してキャプション バー コントロールを作成し、CMFCCaptionBar オブジェクトにアタッチします。

  3. CMFCCaptionBar::SetButtonCMFCCaptionBar::SetTextCMFCCaptionBar::SetIcon、および CMFCCaptionBar::SetBitmap を呼び出してキャプション バー要素を設定します。

ボタン要素を設定するときは、ボタンにコマンド ID を割り当てる必要があります。 ユーザーがボタンをクリックすると、キャプション バーは、この ID を持つWM_COMMANDメッセージを親フレーム ウィンドウにルーティングします。

キャプション バーは、Microsoft Office 2007 アプリケーションに表示されるメッセージ バーをエミュレートするメッセージ バー モードでも機能します。 メッセージ バー モードでは、キャプション バーにビットマップ、メッセージ、ボタン (通常はダイアログ ボックスが開きます) が表示されます。ビットマップにツールヒントを割り当てることができます。

メッセージ バー モードを有効にするには、 CMFCCaptionBar::Create を呼び出し、4 番目のパラメーター (bIsMessageBarMode) を TRUE に設定します。

CMFCCaptionBar クラスのさまざまなメソッドの使用方法を次の例に示します。 この例では、キャプション バー コントロールを作成する方法、キャプション バーの 3D 境界線を設定する方法、キャプション バー要素の端とキャプション バー コントロールの端との間の距離をピクセル単位で設定する方法、キャプション バーのボタンを設定する方法、ボタンのヒントを設定する方法、キャプション バーのテキスト ラベルを設定する方法を示します。 キャプション バーのビットマップ イメージを設定し、キャプション バーに画像のヒントを設定します。 このコード スニペットは、 MS Office 2007 Demo サンプルの一部です。

CMFCCaptionBar m_wndMessageBar;
BOOL CMainFrame::CreateMessageBar()
{
   // The this pointer points to a CMainFrame class which extends the CFrameWndEx class.
   if (!m_wndMessageBar.Create(WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS, this, ID_VIEW_MESSAGEBAR, -1, TRUE))
   {
      TRACE0("Failed to create caption bar\n");
      return FALSE;
   }

   m_wndMessageBar.SetFlatBorder(FALSE);
   m_wndMessageBar.SetMargin(10);
   m_wndMessageBar.SetButton(_T("Options..."), ID_TOOLS_OPTIONS, CMFCCaptionBar::ALIGN_LEFT, FALSE);
   m_wndMessageBar.SetButtonToolTip(_T("Click here to see more options"));

   m_wndMessageBar.SetText(_T("Welcome to the MFC MSOffice2007 demonstration!"), CMFCCaptionBar::ALIGN_LEFT);

   m_wndMessageBar.SetBitmap(IDB_INFO, RGB(255, 255, 255), FALSE, CMFCCaptionBar::ALIGN_LEFT);
   m_wndMessageBar.SetImageToolTip(_T("Important"), _T("Please take a look at MSOffice2007Demo source code to learn how to create advanced user interface in minutes."));

   return TRUE;
}

継承階層

CObject

CCmdTarget

CWnd

CBasePane

CPane

CMFCCaptionBar

要件

Header: afxcaptionbar.h

CMFCCaptionBar::Create

キャプション バー コントロールを作成し、 CMFCCaptionBar オブジェクトにアタッチします。

BOOL Create(
    DWORD dwStyle,
    CWnd* pParentWnd,
    UINT uID,
    int nHeight=-1,
    BOOL bIsMessageBarMode=FALSE);

パラメーター

dwStyle
キャプション バー スタイルの論理 OR の組み合わせ。

pParentWnd
キャプション バー コントロールの親ウィンドウ。

uID
キャプション バー コントロールの ID。

nHeight
キャプション バー コントロールの高さ (ピクセル単位)。 -1 の場合、高さはアイコンの高さ、テキスト、キャプション バー コントロールに表示されるボタンに従って計算されます。

bIsMessageBarMode
キャプション バーがメッセージ バー モードの場合は TRUE。それ以外の場合は FALSE。

戻り値

キャプション バー コントロールが正常に作成された場合は TRUE。それ以外の場合は FALSE。

解説

CMFCCaptionBar オブジェクトは、2 つの手順で作成します。 最初にコンストラクターを呼び出し、次に Create メソッドを呼び出します。これにより、Windows コントロールが作成され、 CMFCCaptionBar オブジェクトにアタッチされます。

CMFCCaptionBar::D oesAllowDynInsertBefore

キャプション バーとその親フレームの間に別のウィンドウを動的に挿入できるかどうかを示します。

virtual BOOL DoesAllowDynInsertBefore() const;

戻り値

オーバーライドされない限り、FALSE を返します。

解説

CMFCCaptionBar::EnableButton

キャプション バーのボタンを有効または無効にします。

void EnableButton(BOOL bEnable=TRUE);

パラメーター

bEnable
[in]ボタンを有効にする場合は TRUE、ボタンを無効にする場合は FALSE。

CMFCCaptionBar::GetAlignment

指定した要素の配置を返します。

BarElementAlignment GetAlignment(BarElement elem);

パラメーター

elem
[in]配置を取得するキャプション バー要素。

戻り値

ボタン、ビットマップ、テキスト、アイコンなどの要素の配置。

解説

要素の配置には、次のいずれかの値を指定できます。

  • ALIGN_INVALID

  • ALIGN_LEFT

  • ALIGN_RIGHT

  • ALIGN_CENTER

CMFCCaptionBar::GetBorderSize

キャプション バーの境界線のサイズを返します。

int GetBorderSize() const;

戻り値

境界線のサイズ (ピクセル単位)。

CMFCCaptionBar::GetButtonRect

キャプション バーのボタンの外接する四角形を取得します。

CRect GetButtonRect() const;

戻り値

キャプション バーのボタンの外接する四角形の座標を格納する CRect オブジェクト。

CMFCCaptionBar::GetMargin

キャプション バー要素の端とキャプション バー コントロールの端との間の距離を返します。

int GetMargin() const;

戻り値

キャプション バー要素の端とキャプション バー コントロールの端との間の距離 (ピクセル単位)。

CMFCCaptionBar::IsMessageBarMode

キャプション バーがメッセージ バー モードかどうかを指定します。

BOOL IsMessageBarMode() const;

戻り値

キャプション バーがメッセージ バー モードの場合は TRUE。それ以外の場合は FALSE。

解説

メッセージ バー モードでは、キャプション バーにヒント、メッセージ テキスト、ボタンを含む画像が表示されます。

CMFCCaptionBar::m_clrBarBackground

キャプション バーの背景色。

COLORREF m_clrBarBackground

CMFCCaptionBar::m_clrBarBorder

キャプション バーの境界線の色。

COLORREF m_clrBarBorder

CMFCCaptionBar::m_clrBarText

キャプション バーのテキストの色。

COLORREF m_clrBarText

CMFCCaptionBar::OnDrawBackground

キャプション バーの背景を埋めるためにフレームワークによって呼び出されます。

virtual void OnDrawBackground(
    CDC* pDC,
    CRect rect);

パラメーター

pDC
[in]キャプション バーのデバイス コンテキストへのポインター。

rect
[in]塗りつぶす外接する四角形。

解説

OnDrawBackground メソッドは、キャプション バーの背景が塗りつぶされようとしているときに呼び出されます。 既定の実装では、 CMFCCaptionBar::m_clrBarBackground 色を使用して背景を塗りつぶします。

キャプション バーの外観をカスタマイズするには、 CMFCCaptionBar 派生クラスでこのメソッドをオーバーライドします。

CMFCCaptionBar::OnDrawBorder

キャプション バーの境界線を描画するためにフレームワークによって呼び出されます。

virtual void OnDrawBorder(
    CDC* pDC,
    CRect rect);

パラメーター

pDC
[in]罫線を表示するために使用されるデバイス コンテキスト。

rect
[in]外接する四角形。

解説

既定では、罫線にはフラット スタイルが適用されます。

キャプション バーの境界線の外観をカスタマイズするには、 CMFCCaptionBar 派生クラスでこのメソッドをオーバーライドします。

CMFCCaptionBar::OnDrawButton

キャプション バー ボタンを描画するためにフレームワークによって呼び出されます。

virtual void OnDrawButton(
    CDC* pDC,
    CRect rect,
    const CString& strButton,
    BOOL bEnabled);

パラメーター

pDC
[in]ボタンの表示に使用されるデバイス コンテキストへのポインター。

rect
[in]ボタンの外接する四角形。

strButton
[in]ボタンのテキスト ラベル。

bEnabled
[in]ボタンが有効な場合は TRUE。それ以外の場合は FALSE。

解説

キャプション バーのボタンの外観をカスタマイズするには、 CMFCCaptionBar 派生クラスでこのメソッドをオーバーライドします。

CMFCCaptionBar::OnDrawImage

キャプション バーイメージを描画するためにフレームワークによって呼び出されます。

virtual void OnDrawImage(
    CDC* pDC,
    CRect rect);

パラメーター

pDC
[in]イメージの表示に使用されるデバイス コンテキストへのポインター。

rect
[in]イメージの外接する四角形を指定します。

解説

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

CMFCCaptionBar::OnDrawText

キャプション バーのテキストを描画するためにフレームワークによって呼び出されます。

virtual void OnDrawText(
    CDC* pDC,
    CRect rect,
    const CString& strText);

パラメーター

pDC
[in]ボタンの表示に使用されるデバイス コンテキストへのポインター。

rect
[in]テキストの外接する四角形。

strText
[in]表示するテキスト文字列。

解説

既定の実装では、 CDC::DrawTextCMFCCaptionBar::m_clrBarText 色を使用してテキストが表示されます。

キャプション バーのテキストの外観をカスタマイズするには、 CMFCCaptionBar 派生クラスでこのメソッドをオーバーライドします。

CMFCCaptionBar::RemoveBitmap

キャプション バーからビットマップ イメージを削除します。

void RemoveBitmap();

CMFCCaptionBar::RemoveButton

キャプション バーからボタンを削除します。

void RemoveButton();

解説

キャプション バー要素のレイアウトは自動的に調整されます。

CMFCCaptionBar::RemoveIcon

キャプション バーからアイコンを削除します。

void RemoveIcon();

CMFCCaptionBar::RemoveText

キャプション バーからテキスト ラベルを削除します。

void RemoveText();

CMFCCaptionBar::SetBitmap

キャプション バーのビットマップイメージを設定します。

void SetBitmap(
    HBITMAP hBitmap,
    COLORREF clrTransparent,
    BOOL bStretch=FALSE,
    BarElementAlignment bmpAlignment=ALIGN_RIGHT);

void SetBitmap(
    UINT uiBmpResID,
    COLORREF clrTransparent,
    BOOL bStretch=FALSE,
    BarElementAlignment bmpAlignment=ALIGN_RIGHT);

パラメーター

hBitmap
[in]設定するビットマップのハンドル。

clrTransparent
[in]ビットマップの透明な色を指定する RGB 値。

bStretch
[in]TRUE の場合、ビットマップはイメージの外接する四角形に収まらない場合に引き伸ばされます。 それ以外の場合、ビットマップは引き伸ばされません。

bmpAlignment
[in]ビットマップの配置。

解説

キャプション バーにビットマップを設定するには、このメソッドを使用します。

前のビットマップは自動的に破棄されます。 CMFCCaptionBar::SetIcon メソッドを呼び出したためにキャプション バーにアイコンが表示された場合、CMFCCaptionBar::RemoveIcon を呼び出してアイコンを削除しない限り、ビットマップは表示されません。

ビットマップは、 bmpAlignment パラメーターで指定されたとおりに配置されます。 このパラメーターには、次の BarElementAlignment 値のいずれかを指定できます。

  • ALIGN_INVALID

  • ALIGN_LEFT

  • ALIGN_RIGHT

  • ALIGN_CENTER

CMFCCaptionBar::SetBorderSize

キャプション バーの境界線のサイズを設定します。

void SetBorderSize(int nSize);

パラメーター

nSize
[in]キャプション バーの境界線の新しいサイズ (ピクセル単位)。

CMFCCaptionBar::SetButton

キャプション バーのボタンを設定します。

void SetButton(
    LPCTSTR lpszLabel,
    UINT uiCmdUI,
    BarElementAlignment btnAlignmnet=ALIGN_LEFT,
    BOOL bHasDropDownArrow=TRUE);

パラメーター

lpszLabel
ボタンのコマンド ラベル。

uiCmdUI
ボタンのコマンド ID。

btnAlignmnet
ボタンの配置。

bHasDropDownArrow
ボタンにドロップダウン矢印が表示される場合は TRUE、それ以外の場合は FALSE。

CMFCCaptionBar::SetButtonPressed

ボタンを押したままにするかどうかを指定します。

void SetButtonPressed(BOOL bPresed=TRUE);

パラメーター

bPresed
ボタンが押された状態を維持する場合は TRUE、それ以外の場合は FALSE。

CMFCCaptionBar::SetButtonToolTip

ボタンのヒントを設定します。

void SetButtonToolTip(
    LPCTSTR lpszToolTip,
    LPCTSTR lpszDescription=NULL);

パラメーター

lpszToolTip
[in]ヒントのキャプション。

lpszDescription
[in]ツールヒントの説明。

CMFCCaptionBar::SetFlatBorder

キャプション バーの罫線のスタイルを設定します。

void SetFlatBorder(BOOL bFlat=TRUE);

パラメーター

bFlat
[in]キャプション バーの境界線がフラットの場合は TRUE。 罫線が 3D の場合は FALSE。

CMFCCaptionBar::SetIcon

キャプション バーのアイコンを設定します。

void SetIcon(
    HICON hIcon,
    BarElementAlignment iconAlignment=ALIGN_RIGHT);

パラメーター

hIcon
[in]設定するアイコンのハンドル。

iconAlignment
[in]アイコンの配置。

解説

キャプション バーには、アイコンまたはビットマップを表示できます。 ビットマップの表示方法については、 CMFCCaptionBar::SetBitmap を参照してください。 アイコンとビットマップの両方を設定すると、アイコンは常に表示されます。 CMFCCaptionBar::RemoveIcon を呼び出して、キャプション バーからアイコンを削除します。

アイコンは、 iconAlignment パラメーターに従って配置されます。 次のいずれかの BarElementAlignment 値を指定できます。

  • ALIGN_INVALID

  • ALIGN_LEFT

  • ALIGN_RIGHT

  • ALIGN_CENTER

CMFCCaptionBar::SetImageToolTip

キャプション バーの画像のヒントを設定します。

void SetImageToolTip(
    LPCTSTR lpszToolTip,
    LPCTSTR lpszDescription=NULL);

パラメーター

lpszToolTip
[in]ヒントのテキスト。

lpszDescription
[in]ツールヒントの説明。

CMFCCaptionBar::SetMargin

キャプション バー要素の端とキャプション バー コントロールの端との間の距離を設定します。

void SetMargin(int nMargin);

パラメーター

nMargin
[in]キャプション バー要素の端とキャプション バー コントロールの端との間の距離 (ピクセル単位)。

CMFCCaptionBar::SetText

キャプション バーのテキスト ラベルを設定します。

void SetText(
    const CString& strText,
    BarElementAlignment textAlignment=ALIGN_RIGHT);

パラメーター

strText
[in]設定するテキスト文字列。

textAlignment
[in]テキストの配置。

解説

テキスト ラベルは、 textAlignment パラメーターで指定されているように配置されます。 次のいずれかの BarElementAlignment 値を指定できます。

  • ALIGN_INVALID

  • ALIGN_LEFT

  • ALIGN_RIGHT

  • ALIGN_CENTER

関連項目

階層図
クラス