次の方法で共有


CToolBar クラス

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

class CToolBar : public CControlBar

解説

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

MFC 4.0 の新しいメンバー関数 CToolBar::GetToolBarCtrl を使って、ツール バーのカスタマイズや機能の追加をサポートする 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 関数を使ってイメージの順序と描画の順序の関係を変更できます。

ツール バー内のボタンは、すべて同じサイズです。 『Windows ユーザー インターフェイス デザイン ガイド』(アスキー出版局) で示すように、既定では 24 × 22 ピクセルです。 寸法上イメージとボタンの間に少しスペースをとり、イメージの周囲の境界としています。

各ボタンには、1 つのイメージがあります。 ボタンのさまざまな状態やスタイル (押された状態、アップ状態、ダウン状態、使用禁止にされている状態、押下状態、不定の状態) は、1 つのイメージから生成されます。 ビットマップはカラーでもかまいませんが、黒のイメージと淡色の影を使うと最良の結果を得ることができます。

ツール バーのボタンは、既定ではプッシュ ボタンの動きをします。 ただし、チェック ボックスやオプション ボタンのように動作させることもできます。 チェック ボックス ボタン 3 つの状態であります。チェック、オフ、不定。 ラジオ ボタンにのみ 2 つの状態があります。チェックし、オフにします。

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

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

チェック ボックスを作成するには、TBBS_CHECKBOX スタイルを割り当てるか、ON_UPDATE_COMMAND_UI ハンドラー内で CCmdUI オブジェクトの SetCheck メンバー関数を使います。 SetCheck メンバー関数を呼び出すとプッシュ ボタンがチェック ボックスに変わります。 SetCheck メンバー関数に引数として 0 を渡したときはオフ状態、1 のときはオン状態、2 のときは不確定な状態になります。

オプション ボタンを作成するには、ON_UPDATE_COMMAND_UI ハンドラーから CCmdUI オブジェクトの SetRadio メンバー関数を呼び出します。 SetRadio メンバー関数に引数として 0 を渡したときはオフ状態、0 以外の値のときはオン状態になります。 オプション ボタンの相互に排他関係を持つグループを用意するためには、グループ内のすべてのボタンに ON_UPDATE_COMMAND_UI ハンドラーが必要です。

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

必要条件

**ヘッダー:**afxext.h

参照

処理手順

CTRLBARS サンプル:カスタム コントロール バーを示します

DLGCBR32 サンプル:ダイアログ ボックスへのツールバーとステータス バーの追加を示します

DOCKTOOL サンプル:Dockable のツールバーを示します

参照

CControlBar クラス

階層図

CToolBarCtrl クラス

CControlBar クラス

CToolBar::Create

CToolBar::LoadBitmap

CToolBar::SetButtons

CCmdUI::SetCheck

CCmdUI::SetRadio

その他の技術情報

CToolBar のメンバー