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::GetToolBarCtrl
MFC 4.0 の新機能であるメンバー関数では、ツール バーのカスタマイズと追加機能に対する Windows 共通コントロールのサポートを利用できます。 CToolBar
メンバー関数は、Windows 共通コントロールのほとんどの機能を提供します。ただし、 GetToolBarCtrl
を呼び出すと、Windows 95/98 ツール バーの特性をさらにツールバーに追加できます。 GetToolBarCtrl
を呼び出す場合は、CToolBarCtrl
オブジェクトへの参照が返されます。 Windows 共通コントロールを使用したツール バーの設計の詳細については、 CToolBarCtrl
を参照してください。 一般的なコントロールの詳細については、Windows SDK の「 Common Controls 」を参照してください。
Visual C++ には、ツール バーを作成するための 2 つのメソッドが用意されています。 リソース エディターを使用してツール バー リソースを作成するには、次の手順に従います。
ツール バー リソースを作成します。
CToolBar
オブジェクトを構築します。Create
(またはCreateEx
) 関数を呼び出して Windows ツール バーを作成し、CToolBar
オブジェクトにアタッチします。ツール バー リソースを読み込むには、
LoadToolBar
を呼び出します。
そうでない場合は、次の手順に従います。
CToolBar
オブジェクトを構築します。Create
(またはCreateEx
) 関数を呼び出して Windows ツール バーを作成し、CToolBar
オブジェクトにアタッチします。LoadBitmap
を呼び出して、ツール バー ボタンイメージを含むビットマップを読み込みます。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: コントロール バー」を参照してください。
継承階層
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
を使用します。 たとえば、 dwCtrlStyle
を TBSTYLE_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
ビットマップ内のボタンのイメージのインデックスに設定されている整数への参照。
解説
これらの値は、 nID
、 nStyle
、および 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 の Controls と Common コントロール に関する記事を参照してください。
例
// 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
クラス