次の方法で共有


CToolBar クラス

一連のビットマップ ボタンおよびオプションの区切り記号を含むコントロール バーです。

構文

class CToolBar : public CControlBar

メンバー

パブリック コンストラクター

名前 説明
CToolBar::CToolBar CToolBar オブジェクトを構築します。

パブリック メソッド

名前 説明
CToolBar::CommandToIndex 指定されたコマンド ID を持つボタンのインデックスを返します。
CToolBar::Create Windows ツール バーを作成し、 CToolBar オブジェクトにアタッチします。
CToolBar::CreateEx 埋め込みCToolBarCtrl オブジェクトの追加のスタイルを持つCToolBar オブジェクトを作成します。
CToolBar::GetButtonInfo ボタンの ID、スタイル、イメージ番号を取得します。
CToolBar::GetButtonStyle ボタンのスタイルを取得します。
CToolBar::GetButtonText ボタンに表示されるテキストを取得します。
CToolBar::GetItemID 指定したインデックス位置にあるボタンまたは区切り記号のコマンド ID を返します。
CToolBar::GetItemRect 指定したインデックス位置にある項目の表示四角形を取得します。
CToolBar::GetToolBarCtrl 基になる共通コントロールへの直接アクセスを許可します。
CToolBar::LoadBitmap ビットマップ ボタンイメージを含むビットマップを読み込みます。
CToolBar::LoadToolBar リソース エディターで作成されたツール バー リソースを読み込みます。
CToolBar::SetBitmap ビットマップイメージを設定します。
CToolBar::SetButtonInfo ボタンの ID、スタイル、イメージ番号を設定します。
CToolBar::SetButtons ビットマップ内のボタン スタイルとボタン イメージのインデックスを設定します。
CToolBar::SetButtonStyle ボタンのスタイルを設定します。
CToolBar::SetButtonText ボタンに表示されるテキストを設定します。
CToolBar::SetHeight ツールバーの高さを設定します。
CToolBar::SetSizes ボタンとそのビットマップのサイズを設定します。

解説

ボタンは、プッシュ ボタン、チェック ボックス ボタン、またはラジオ ボタンのように動作できます。 CToolBar オブジェクトは、通常、クラス CFrameWnd または CMDIFrameWndから派生したフレーム ウィンドウ オブジェクトの埋め込みメンバーです。

CToolBar::GetToolBarCtrlMFC 4.0 の新機能であるメンバー関数では、ツール バーのカスタマイズと追加機能に対する Windows 共通コントロールのサポートを利用できます。 CToolBar メンバー関数は、Windows 共通コントロールのほとんどの機能を提供します。ただし、 GetToolBarCtrlを呼び出すと、Windows 95/98 ツール バーの特性をさらにツールバーに追加できます。 GetToolBarCtrl を呼び出す場合は、CToolBarCtrl オブジェクトへの参照が返されます。 Windows 共通コントロールを使用したツール バーの設計の詳細については、 CToolBarCtrl を参照してください。 一般的なコントロールの詳細については、Windows SDK の「 Common Controls 」を参照してください。

Visual C++ には、ツール バーを作成するための 2 つのメソッドが用意されています。 リソース エディターを使用してツール バー リソースを作成するには、次の手順に従います。

  1. ツール バー リソースを作成します。

  2. CToolBar オブジェクトを構築します。

  3. Create (またはCreateEx) 関数を呼び出して Windows ツール バーを作成し、CToolBar オブジェクトにアタッチします。

  4. ツール バー リソースを読み込むには、 LoadToolBar を呼び出します。

そうでない場合は、次の手順に従います。

  1. CToolBar オブジェクトを構築します。

  2. Create (またはCreateEx) 関数を呼び出して Windows ツール バーを作成し、CToolBar オブジェクトにアタッチします。

  3. LoadBitmapを呼び出して、ツール バー ボタンイメージを含むビットマップを読み込みます。

  4. SetButtonsを呼び出してボタン のスタイルを設定し、各ボタンをビットマップ内のイメージに関連付けます。

ツール バーのすべてのボタン イメージは、ボタンごとに 1 つのイメージを含む必要がある 1 つのビットマップから取得されます。 すべての画像は同じサイズにする必要があります。既定値は幅 16 ピクセル、高さ 15 ピクセルです。 イメージは、ビットマップ内で並べて表示する必要があります。

SetButtons関数は、コントロール ID の配列へのポインターと、配列内の要素数を指定する整数を受け取ります。 この関数は、各ボタンの ID を配列の対応する要素の値に設定し、各ボタンにイメージ インデックスを割り当てます。これにより、ビットマップ内のボタンのイメージの位置を指定します。 配列要素の値が ID_SEPARATOR場合、イメージ インデックスは割り当てされません。

ビットマップ内のイメージの順序は通常、画面に描画される順序ですが、 SetButtonInfo 関数を使用して、イメージの順序と描画順序の関係を変更できます。

ツールバー内のすべてのボタンのサイズは同じです。 既定値は 24 x 22 ピクセルで、 Windows Interface Guidelines for Software Design に従います。 画像とボタンの寸法の間に追加のスペースが使用され、画像の周囲に境界線が形成されます。

各ボタンには 1 つの画像があります。 その 1 つのイメージから、さまざまなボタンの状態とスタイル (押された、上、下、無効、無効、および不確定) が生成されます。 ビットマップは任意の色でもかまいませんが、黒と灰色の網掛けで画像を使用して最適な結果を得ることができます。

警告

CToolBar は、最大 16 色のビットマップをサポートしています。 イメージをツール バー エディターに読み込むと、Visual Studio は必要に応じてイメージを 16 色のビットマップに自動的に変換し、イメージが変換された場合は警告メッセージを表示します。 16 色を超えるイメージを使用する (外部エディターを使用してイメージを編集する) 場合、アプリケーションが予期せず動作する可能性があります。

ツール バー ボタンは、既定でプッシュ ボタンを模倣します。 ただし、ツール バー ボタンは、チェック ボックス ボタンやラジオ ボタンを模倣することもできます。 チェック ボックス ボタンには、チェック ボックス、クリア、不確定の 3 つの状態があります。 ラジオ ボタンには、チェックとクリアの 2 つの状態しかありません。

配列を指さずに個々のボタンまたは区切り記号のスタイルを設定するには、GetButtonStyleを呼び出してスタイルを取得し、SetButtonsの代わりにSetButtonStyleを呼び出します。 SetButtonStyle は、実行時にボタンのスタイルを変更する場合に最も便利です。

ボタンに表示するテキストを割り当てるには、 GetButtonText を呼び出してボタンに表示するテキストを取得し、 SetButtonText を呼び出してテキストを設定します。

チェック ボックス ボタンを作成するには、スタイル TBBS_CHECKBOXを割り当てるか、ON_UPDATE_COMMAND_UI ハンドラーでCCmdUI オブジェクトのSetCheckメンバー関数を使用します。 SetCheckを呼び出すと、押ボタンがチェック ボックス ボタンに変換されます。 SetCheck、オフの場合は 0、checked の場合は 1、不確定の場合は 2 の引数を渡します。

ラジオ ボタンを作成するには、ON_UPDATE_COMMAND_UI ハンドラーからCCmdUI オブジェクトのSetRadio メンバー関数を呼び出します。 オフ SetRadio 場合は 0、checked の場合は 0 以外の引数を渡します。 無線グループの相互排他的な動作を提供するには、グループ内のすべてのボタンに対して ON_UPDATE_COMMAND_UI ハンドラーが必要です。

CToolBarの使用方法の詳細については、「MFC ツール バーの実装テクニカル ノート 31: コントロール バー」を参照してください。

継承階層

CObject

CCmdTarget

CWnd

CControlBar

CToolBar

要件

ヘッダー: afxext.h

CToolBar::CommandToIndex

このメンバー関数は、コマンド ID が nIDFindと一致する位置 0 から始まる最初のツール バー ボタンのインデックスを返します。

int CommandToIndex(UINT nIDFind) const;

パラメーター

nIDFind
ツール バー ボタンのコマンド ID。

戻り値

ボタンのインデックス。指定されたコマンド ID を持つボタンがない場合は -1。

CToolBar::Create

このメンバー関数は、Windows ツール バー (子ウィンドウ) を作成し、 CToolBar オブジェクトに関連付けます。

virtual BOOL Create(
    CWnd* pParentWnd,
    DWORD dwStyle = WS_CHILD | WS_VISIBLE | CBRS_TOP,
    UINT nID = AFX_IDW_TOOLBAR);

パラメーター

pParentWnd
ツール バーの親ウィンドウへのポインター。

dwStyle
ツール バーのスタイル。 サポートされるその他のツール バー スタイルは次のとおりです。

  • CBRS_TOP コントロール バーはフレーム ウィンドウの上部にあります。

  • CBRS_BOTTOM コントロール バーはフレーム ウィンドウの下部にあります。

  • CBRS_NOALIGN 親のサイズを変更しても、コントロール バーの位置は変更されません。

  • CBRS_TOOLTIPS コントロール バーにツール ヒントが表示されます。

  • CBRS_SIZE_DYNAMIC コントロール バーは動的です。

  • CBRS_SIZE_FIXED コントロール バーが固定されています。

  • CBRS_FLOATING コントロール バーがフローティングです。

  • CBRS_FLYBY ステータス バーには、ボタンに関する情報が表示されます。

  • CBRS_HIDE_INPLACE コントロール バーはユーザーに表示されません。

nID
ツール バーの子ウィンドウ ID。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

また、ツール バーの高さを既定値に設定します。

// This code fragment is taken from CMainFrame::OnCreate
// CMainFrame is derived from CMDIFrameWnd.

//This example creates a dockable toolbar.
if (!m_wndToolBar.Create(this) ||
   !m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
{
   TRACE0("Failed to create toolbar\n");
   return -1;      // fail to create
}

//Make the toolbar dockable
m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndToolBar);

CToolBar::CreateEx

この関数を呼び出して、Windows ツール バー (子ウィンドウ) を作成し、 CToolBar オブジェクトに関連付けます。

virtual BOOL CreateEx(
    CWnd* pParentWnd,
    DWORD dwCtrlStyle = TBSTYLE_FLAT,
    DWORD dwStyle = WS_CHILD | WS_VISIBLE | CBRS_ALIGN_TOP,
    CRect rcBorders = CRect(
    0,
    0,
    0,
    0),
    UINT nID = AFX_IDW_TOOLBAR);

パラメーター

pParentWnd
ツール バーの親ウィンドウへのポインター。

dwCtrlStyle
埋め込み CToolBarCtrl オブジェクトを作成するための追加のスタイル。 既定では、この値は TBSTYLE_FLAT に設定されます。 ツールバー スタイルの完全な一覧については、「 dwStyle」を参照してください。

dwStyle
ツール バーのスタイル。 適切なスタイルの一覧については、Windows SDK の「 Toolbar コントロールとボタンのスタイル 」を参照してください。

rcBorders
ツール バー ウィンドウの境界線の幅を定義する CRect オブジェクト。 これらの罫線は既定で 0,0,0,0 に設定されているため、罫線のないツール バー ウィンドウになります。

nID
ツール バーの子ウィンドウ ID。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

また、ツール バーの高さを既定値に設定します。

埋め込みツール バー コントロールの作成時に特定のスタイルが存在する必要がある場合は、Createではなく、CreateExを使用します。 たとえば、 dwCtrlStyleTBSTYLE_FLAT | TBSTYLE_TRANSPARENT に設定して、Internet Explorer 4 のツール バーのようなツール バーを作成します。

// This example demonstrates CToolBar::CreateEx by creating a 
// toolbar as part of a child frame window. It also calls the 
// LoadToolbar and EnableDocking functions
int CChildFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
   if (CMDIChildWnd::OnCreate(lpCreateStruct) == -1)
      return -1;

   if (!m_wndMyToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
      | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
      !m_wndMyToolBar.LoadToolBar(IDR_MYTOOLBAR))
   {
      TRACE0("Failed to create toolbar\n");
      return -1;      // fail to create
   }

   m_wndMyToolBar.EnableDocking(CBRS_ALIGN_ANY);
   EnableDocking(CBRS_ALIGN_ANY);
   DockControlBar(&m_wndMyToolBar);

   return 0;
}

CToolBar::CToolBar

このメンバー関数は、 CToolBar オブジェクトを構築し、既定のサイズを設定します。

CToolBar();

解説

Create メンバー関数を呼び出して、ツール バー ウィンドウを作成します。

CToolBar::GetButtonInfo

このメンバー関数は、ツール バー ボタンまたは区切り記号のコントロール ID、スタイル、および画像インデックスを、 nIndexで指定された場所で取得します。

void GetButtonInfo(
    int nIndex,
    UINT& nID,
    UINT& nStyle,
    int& iImage) const;

パラメーター

nIndex
情報を取得するツール バー ボタンまたは区切り記号のインデックス。

nID
ボタンのコマンド ID に設定されている UINT への参照。

nStyle
ボタンのスタイルに設定されている UINT への参照。

iImage
ビットマップ内のボタンのイメージのインデックスに設定されている整数への参照。

解説

これらの値は、 nIDnStyle、および iImageによって参照される変数に割り当てられます。 イメージ インデックスは、すべてのツール バー ボタンのイメージを含むビットマップ内のイメージの位置です。 最初の画像は位置 0 にあります。

区切り記号 nIndex 指定した場合、 iImage は区切り記号の幅 (ピクセル単位) に設定されます。

CToolBar::GetButtonStyle

ツール バーのボタンまたは区切り記号のスタイルを取得するには、このメンバー関数を呼び出します。

UINT GetButtonStyle(int nIndex) const;

パラメーター

nIndex
取得するツール バー ボタンまたは区切り記号スタイルのインデックス。

戻り値

nIndexで指定されたボタンまたは区切り記号のスタイル。

解説

ボタンのスタイルは、ボタンの表示方法とユーザーによる入力への応答方法を決定します。 ボタン スタイルの例については、 SetButtonStyle を参照してください。

CToolBar::GetButtonText

このメンバー関数を呼び出して、ボタンに表示されるテキストを取得します。

CString GetButtonText(int nIndex) const;

void GetButtonText(
    int nIndex,
    CString& rString) const;

パラメーター

nIndex
取得するテキストのインデックス。

rString
取得するテキストを格納する CString オブジェクトへの参照。

戻り値

ボタンテキストを含む CString オブジェクト。

解説

このメンバー関数の 2 番目の形式は、 CString オブジェクトに文字列テキストを入力します。

CToolBar::GetItemID

このメンバー関数は、 nIndexで指定されたボタンまたは区切り記号のコマンド ID を返します。

UINT GetItemID(int nIndex) const;

パラメーター

nIndex
ID が取得されるアイテムのインデックス。

戻り値

nIndexで指定されたボタンまたは区切り記号のコマンド ID。

解説

区切り記号は ID_SEPARATORを返します。

CToolBar::GetItemRect

このメンバー関数は、アドレスがlpRectに含まれているRECT構造体に、nIndexで指定されたボタンまたは区切り記号の座標を入力します。

virtual void GetItemRect(
    int nIndex,
    LPRECT lpRect) const;

パラメーター

nIndex
四角形の座標を取得するアイテム (ボタンまたは区切り記号) のインデックス。

lpRect
アイテムの座標を含む RECT 構造体のアドレス。

解説

座標は、ツールバーの左上隅を基準にピクセル単位で表示されます。

GetItemRectを使用して、コンボ ボックスまたはその他のコントロールに置き換える区切り記号の座標を取得します。

CToolBar::SetSizes の例を参照してください。

CToolBar::GetToolBarCtrl

このメンバー関数を使用すると、基になる共通コントロールに直接アクセスできます。

CToolBarCtrl& GetToolBarCtrl() const;

戻り値

CToolBarCtrl オブジェクトへの参照です。

解説

GetToolBarCtrlを使用して、Windows ツール バーの共通コントロールの機能を利用し、ツール バーのカスタマイズに提供CToolBarCtrlサポートを利用します。

一般的なコントロールの使用の詳細については、Windows SDK の ControlsCommon コントロール に関する記事を参照してください。

// This code fragment is taken from CMainFrame::OnCreate
// CMainFrame is derived from CMDIFrameWnd.

//This example shows how to add text to toolbar buttons.
if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE
   | CBRS_TOP) || !m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
{
   TRACE0("Failed to create toolbar\n");
   return -1;      // fail to create
}

//Show text on toolbar buttons.
VERIFY(m_wndToolBar.SetButtonText(0, _T("New")));
VERIFY(m_wndToolBar.SetButtonText(1, _T("Open")));
VERIFY(m_wndToolBar.SetButtonText(2, _T("Save")));
VERIFY(m_wndToolBar.SetButtonText(4, _T("Cut")));
VERIFY(m_wndToolBar.SetButtonText(5, _T("Copy")));
VERIFY(m_wndToolBar.SetButtonText(6, _T("Paste")));
VERIFY(m_wndToolBar.SetButtonText(8, _T("Print")));
VERIFY(m_wndToolBar.SetButtonText(9, _T("About")));

CRect temp;
m_wndToolBar.GetItemRect(0, &temp);
m_wndToolBar.GetToolBarCtrl().SetButtonSize(CSize(temp.Width(),
   temp.Height()));

CToolBar::LoadBitmap

このメンバー関数を呼び出して、 lpszResourceName または nIDResourceで指定されたビットマップを読み込みます。

BOOL LoadBitmap(LPCTSTR lpszResourceName);
BOOL LoadBitmap(UINT nIDResource);

パラメーター

lpszResourceName
読み込むビットマップのリソース名へのポインター。

nIDResource
読み込むビットマップのリソース ID。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

ビットマップには、ツール バー ボタンごとに 1 つのイメージが含まれている必要があります。 画像が標準サイズ (幅 16 ピクセル、高さ 15 ピクセル) でない場合は、 SetSizes を呼び出して、ボタンのサイズとその画像を設定します。

警告

CToolBar は、最大 16 色のビットマップをサポートしています。 イメージをツール バー エディターに読み込むと、Visual Studio は必要に応じてイメージを 16 色のビットマップに自動的に変換し、イメージが変換された場合は警告メッセージを表示します。 16 色を超えるイメージを使用する (外部エディターを使用してイメージを編集する) 場合、アプリケーションが予期せず動作する可能性があります。

CToolBar::LoadToolBar

このメンバー関数を呼び出して、 lpszResourceName または nIDResourceで指定されたツール バーを読み込みます。

BOOL LoadToolBar(LPCTSTR lpszResourceName);
BOOL LoadToolBar(UINT nIDResource);

パラメーター

lpszResourceName
読み込むツール バーのリソース名へのポインター。

nIDResource
読み込むツール バーのリソース ID。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

ツール バー リソース 作成する方法の詳細については ツール バー エディターを参照してください。

CToolBar::CreateEx の例を参照してください。

CToolBar::SetBitmap

ツール バーのビットマップ イメージを設定するには、このメンバー関数を呼び出します。

BOOL SetBitmap(HBITMAP hbmImageWell);

パラメーター

hbmImageWell
ツール バーに関連付けられているビットマップ イメージのハンドル。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

たとえば、ユーザーがボタンのアクションを変更するドキュメントに対してアクションを実行した後、 SetBitmap を呼び出してビットマップイメージを変更します。

CToolBar::SetButtonInfo

このメンバー関数を呼び出して、ボタンのコマンド ID、スタイル、イメージ番号を設定します。

void SetButtonInfo(
    int nIndex,
    UINT nID,
    UINT nStyle,
    int iImage);

パラメーター

nIndex
情報を設定するボタンまたは区切り記号の 0 から始まるインデックス。

nID
ボタンのコマンド ID が設定される値。

nStyle
新しいボタン スタイル。 次のボタン スタイルがサポートされています。

  • TBBS_BUTTON 標準プッシュボタン (既定)

  • TBBS_SEPARATOR 分離器

  • TBBS_CHECKBOX 自動チェック ボックス ボタン

  • TBBS_GROUP ボタンのグループの開始をマークします

  • TBBS_CHECKGROUP チェック ボックス ボタンのグループの開始をマークします

  • TBBS_DROPDOWN ドロップダウン リスト ボタンを作成します。

  • TBBS_AUTOSIZE ボタンの幅は、画像のサイズではなく、ボタンのテキストに基づいて計算されます。

  • TBBS_NOPREFIX ボタン テキストには、アクセラレータ プレフィックスが関連付けられません。

iImage
ビットマップ内のボタンのイメージの新しいインデックス。

解説

スタイルが TBBS_SEPARATOR区切り記号の場合、この関数は区切り記号の幅をピクセル単位で iImageに格納された値に設定します。

Note

nStyle パラメーターを使用してボタンの状態を設定することもできます。ただし、ボタンの状態はON_UPDATE_COMMAND_UI ハンドラーによって制御されるため、SetButtonInfoを使用して設定した状態は、次のアイドル処理中に失われます。 詳細については、「 ユーザー インターフェイス オブジェクトの更新方法 および TN031: コントロール バー 」を参照してください。

ビットマップイメージとボタンの詳細については、「 CToolBar の概要と CToolBar::LoadBitmap」を参照してください。

CToolBar::SetButtons

このメンバー関数は、各ツール バー ボタンのコマンド ID を、配列 lpIDArrayの対応する要素で指定された値に設定します。

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

パラメーター

lpIDArray
コマンド ID の配列へのポインター。 空のボタンを割り当てるには NULL を指定できます。

nIDCount
lpIDArrayが指す配列内の要素の数。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

配列の要素に値 ID_SEPARATORがある場合は、ツールバーの対応する位置に区切り記号が作成されます。 また、この関数は、各ボタンのスタイルを TBBS_BUTTON に設定し、各区切り記号のスタイルを TBBS_SEPARATORに設定し、各ボタンに画像インデックスを割り当てます。 イメージ インデックスは、ビットマップ内でのボタンのイメージの位置を指定します。

ビットマップ内の区切り記号を考慮する必要はありません。この関数は、区切り記号の画像インデックスを割り当てないためです。 ツールバーに 0、1、3 の位置にボタンがあり、位置 2 に区切り記号がある場合、ビットマップ内の位置 0、1、2 の画像はそれぞれ、位置 0、1、3 のボタンに割り当てられます。

lpIDArrayが NULL の場合、この関数は、nIDCountで指定された項目の数に領域を割り当てます。 SetButtonInfoを使用して、各項目の属性を設定します。

CToolBar::SetButtonStyle

ボタンまたは区切り記号のスタイルを設定したり、ボタンをグループ化したりするには、このメンバー関数を呼び出します。

void SetButtonStyle(
    int nIndex,
    UINT nStyle);

パラメーター

nIndex
情報を設定するボタンまたは区切り記号のインデックス。

nStyle
ボタンのスタイル。 次のボタン スタイルがサポートされています。

  • TBBS_BUTTON 標準プッシュボタン (既定)

  • TBBS_SEPARATOR 分離器

  • TBBS_CHECKBOX 自動チェック ボックス ボタン

  • TBBS_GROUP ボタンのグループの開始をマークします

  • TBBS_CHECKGROUP チェック ボックス ボタンのグループの開始をマークします

  • TBBS_DROPDOWN ドロップダウン リスト ボタンを作成します

  • TBBS_AUTOSIZE ボタンの幅は、画像のサイズではなく、ボタンのテキストに基づいて計算されます

  • TBBS_NOPREFIX ボタン テキストにアクセラレータ プレフィックスが関連付けられません

解説

ボタンのスタイルは、ボタンの表示方法とユーザーによる入力への応答方法を決定します。

SetButtonStyleを呼び出す前に、GetButtonStyle メンバー関数を呼び出して、ボタンまたは区切り記号のスタイルを取得します。

Note

nStyle パラメーターを使用してボタンの状態を設定することもできます。ただし、ボタンの状態はON_UPDATE_COMMAND_UI ハンドラーによって制御されるため、SetButtonStyleを使用して設定した状態は、次のアイドル処理中に失われます。 詳細については、「 ユーザー インターフェイス オブジェクトの更新方法 および TN031: コントロール バー 」を参照してください。

CToolBar::SetButtonText

ボタンにテキストを設定するには、この関数を呼び出します。

BOOL SetButtonText(
    int nIndex,
    LPCTSTR lpszText);

パラメーター

nIndex
テキストを設定するボタンのインデックス。

lpszText
ボタンに設定するテキストをポイントします。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

CToolBar::GetToolBarCtrl の例を参照してください。

CToolBar::SetHeight

このメンバー関数は、ツールバーの高さを、 cyHeightで指定された値 (ピクセル単位) に設定します。

void SetHeight(int cyHeight);

パラメーター

cyHeight
ツールバーの高さ (ピクセル単位)。

解説

SetSizesを呼び出した後、このメンバー関数を使用して、標準のツール バーの高さをオーバーライドします。 高さが小さすぎると、ボタンは下部にクリップされます。

この関数が呼び出されない場合、フレームワークはボタンのサイズを使用してツール バーの高さを決定します。

CToolBar::SetSizes

このメンバー関数を呼び出して、ツールバーのボタンを、 sizeButtonで指定されたサイズ (ピクセル単位) に設定します。

void SetSizes(
    SIZE sizeButton,
    SIZE sizeImage);

パラメーター

sizeButton
各ボタンのサイズ (ピクセル単位)。

sizeImage
各イメージのサイズ (ピクセル単位)。

解説

sizeImage パラメーターには、ツールバーのビットマップ内のイメージのサイズ (ピクセル単位) が含まれている必要があります。 sizeButtonの寸法は、画像に加えて幅が 7 ピクセル、高さが 6 ピクセル増えるのに十分である必要があります。 この関数は、ボタンに合わせてツール バーの高さを設定します。

このメンバー関数を呼び出すのは、 Windows Interface Guidelines for Software Design のボタンとイメージのサイズに関する推奨事項に従っていないツール バーに対してのみ行います。

// This code fragment is taken from CMainFrame::OnCreate
// CMainFrame is derived from CMDIFrameWnd

// This example shows how to add text to toolbar buttons.
if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE 
   | CBRS_TOP) || !m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
{
   TRACE0("Failed to create toolbar\n");
   return -1;      // fail to create
}

//Show text on toolbar buttons.
VERIFY(m_wndToolBar.SetButtonText(0, _T("New")));
VERIFY(m_wndToolBar.SetButtonText(1, _T("Open")));
VERIFY(m_wndToolBar.SetButtonText(2, _T("Save")));
VERIFY(m_wndToolBar.SetButtonText(4, _T("Cut")));
VERIFY(m_wndToolBar.SetButtonText(5, _T("Copy")));
VERIFY(m_wndToolBar.SetButtonText(6, _T("Paste")));
VERIFY(m_wndToolBar.SetButtonText(8, _T("Print")));
VERIFY(m_wndToolBar.SetButtonText(9, _T("About")));

CRect temp;
m_wndToolBar.GetItemRect(0,&temp);
m_wndToolBar.SetSizes(CSize(temp.Width(),
   temp.Height()),CSize(16,15));

関連項目

MFC サンプル CTRLBARS
MFC サンプル DLGCBR32
MFC サンプル DOCKTOOL
CControlBar クラス
階層図
CToolBarCtrl クラス