"コントロール バー" は、ツールバー、ステータス バー、ダイアログ バーの一般的な名前です。 MFC クラス CToolBar、 CStatusBar、 CDialogBar、 COleResizeBar、 CReBar は、共通機能を実装する CControlBar クラスから派生します。
コントロール バーは、ユーザーがオプションの選択、コマンドの実行、またはプログラム情報の取得に使用できるコントロールの行を表示するウィンドウです。 コントロール バーの種類には、ツールバー、ダイアログ バー、ステータス バーがあります。
CToolBar クラスのツール バー
CStatusBar クラスのステータス バー
CDialogBar クラスのダイアログ バー
クラス CReBarクラスの Rebar
Von Bedeutung
MFC バージョン 4.0 以降では、ツール バー、ステータス バー、ツール ヒントは、MFC に固有の以前の実装ではなく 、comctl32.dll で実装されたシステム機能を使用して実装されています。 MFC バージョン 6.0 では、comctl32.dll 機能もラップする CReBarが追加されました。
コントロール バーの種類について簡単に説明します。 詳細については、以下のリンクを参照してください。
コントロール バー
コントロール バーは、迅速な 1 ステップのコマンド アクションを提供することで、プログラムの使いやすさを大幅に向上させます。 クラス CControlBar は、すべてのツールバー、ステータス バー、ダイアログ バーの共通機能を提供します。 CControlBar は、コントロール バーを親フレーム ウィンドウに配置するための機能を提供します。 コントロール バーは通常、親フレーム ウィンドウの子ウィンドウであるため、フレーム ウィンドウのクライアント ビューまたは MDI クライアントへの "兄弟" です。 コントロール バー オブジェクトは、親ウィンドウのクライアント四角形に関する情報を使用して、それ自体を配置します。 次に、クライアント ビューまたは MDI クライアント ウィンドウがクライアント ウィンドウの残りの部分を埋めるように、親の残りのクライアント ウィンドウの四角形を変更します。
注
コントロール バーのボタンに COMMAND または UPDATE_COMMAND_UI ハンドラーがない場合、フレームワークは自動的にボタンを無効にします。
ツールバー
ツール バーは、コマンドを実行するビットマップ ボタンの行を表示するコントロール バーです。 ツール バー ボタンを押すと、メニュー項目を選択するのと同じです。メニュー項目にツール バー ボタンと同じ ID がある場合は、メニュー項目にマップされた同じハンドラーを呼び出します。 ボタンは、プッシュ ボタン、ラジオ ボタン、またはチェック ボックスとして表示および動作するように構成できます。 通常、ツールバーはフレーム ウィンドウの上部に配置されますが、MFC ツール バーは親ウィンドウの任意の側に "ドッキング" したり、独自のミニフレーム ウィンドウに浮動したりできます。 ツールバーは "浮動" でき、そのサイズを変更してマウスでドラッグすることもできます。 ツール バーでは、ユーザーがツール バーのボタンの上にマウスを移動すると、ツール ヒントを表示することもできます。 ツール ヒントは、ボタンの目的を簡単に説明する小さなポップアップ ウィンドウです。
注
MFC バージョン 4.0 以降、 クラス CToolBar は Windows ツール バーの共通コントロールを使用します。 CToolBarには CToolBarCtrl が含まれています。 ただし、古いツール バーは引き続きサポートされています。 ToolBars に関する記事を参照してください。
ステータス バー
ステータス バーは、テキスト出力ペインまたは "インジケーター" を含むコントロール バーです。出力ペインは、メッセージ行およびステータス インジケーターとして一般的に使用されます。 メッセージ行の例には、MFC アプリケーション ウィザードによって作成された既定のステータス バーの左端のウィンドウで、選択したメニューまたはツール バー コマンドについて簡単に説明するコマンド ヘルプ メッセージ行が含まれます。 ステータス インジケーターの例には、SCROLL LOCK、NUM LOCK、およびその他のキーが含まれます。 ステータス バーは通常、フレーム ウィンドウの下部に配置されます。 クラス CStatusBar とクラス CStatusBarCtrl を参照してください。
ダイアログ バー
ダイアログ バーは、ダイアログ テンプレート リソースに基づくコントロール バーであり、モードレス ダイアログ ボックスの機能を備えています。 ダイアログ バーには、Windows、カスタム、または ActiveX コントロールを含めることができます。 ダイアログ ボックスと同様に、ユーザーはコントロール間をタブできます。 ダイアログ バーは、フレーム ウィンドウの上、下、左、または右側に配置でき、独自のフレーム ウィンドウに浮動させることもできます。 CDialogBar クラスを参照してください。
鉄筋
リバーは、リバー コントロールのドッキング、レイアウト、ステータス、永続性の情報を提供するためのコントロールバーです。 Rebar オブジェクトには、さまざまな子ウィンドウを含めることができます。通常は、エディット ボックス、ツールバー、リスト ボックスなどの他のコントロールが含まれます。 Rebar オブジェクトは、指定されたビットマップ上に子ウィンドウを表示できます。 グリッパー バーをクリックまたはドラッグすることで、自動的または手動でサイズを変更できます。 CReBar クラスを参照してください。