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 の共通コントロール」を参照してください

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

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

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

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

  4. ツール バー リソースを読み込む呼び出し LoadToolBar

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

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

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

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

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

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

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

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

ツールバー内のすべてのボタンのサイズは同じです。 ソフトウェア デザインの Windows インターフェイス ガイドラインに従って、既定値は 24 x 22 ピクセルです。 画像とボタンの寸法の間に追加のスペースが使用され、画像の周囲に境界線が形成されます。

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

警告

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

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

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

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

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

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

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

継承階層

CObject

CCmdTarget

CWnd

CControlBar

CToolBar

必要条件

ヘッダー:afxext.h

CToolBar::CommandToIndex

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

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 のツール バー コントロールとボタン のスタイルに関するページを参照してください

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

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

戻り値

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

解説

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

CreateEx埋め込みツール バー コントロールの作成時に特定のCreateスタイルが存在する必要がある場合は、代わりに使用します。 たとえば、インターネット エクスプローラー 4 のツール バーに似たツール バーを作成するようにTBSTYLE_FLAT | TBSTYLE_TRANSPARENT設定dwCtrlStyleします。

// 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
ビットマップ内のボタンのイメージのインデックスに設定されている整数への参照。

解説

これらの値は、 によってnIDnStyleiImage参照される変数に割り当てられます。 イメージ インデックスは、すべてのツール バー ボタンのイメージを含むビットマップ内のイメージの位置です。 最初の画像は位置 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

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

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

パラメーター

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

lpRect
項目の座標を RECT 含む構造体のアドレス。

解説

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

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

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

CToolBar::GetToolBarCtrl

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

CToolBarCtrl& GetToolBarCtrl() const;

戻り値

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

解説

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

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

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

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

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

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

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::LoadBitmap「.」をCToolBar参照してください。

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 のボタンに割り当てられます。

NULL の場合 lpIDArray 、この関数は指定された 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 インターフェイス ガイドラインに従っていないツール バーに対してのみです。

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