次の方法で共有


コントロール バー

更新 : 2007 年 11 月

"コントロール バー" は、ツール バー、ステータス バー、およびダイアログ バーの総称です。MFC の CToolBarCStatusBarCDialogBarCOleResizeBarCReBar の各クラスは、それらに共通の機能を実装する CControlBar クラスから派生します。

コントロール バーは、コントロールの列を表示するウィンドウであり、オプションの選択、コマンドの実行、プログラム情報の取得を行うことができます。コントロール バーの種類には、ツール バー、ダイアログ バー、ステータス バーなどがあります。

  • ツール バーは CToolBar クラスに属します。

  • ステータス バーは CStatusBar クラスに属します。

  • ダイアログ バーは CDialogBar クラスに属します。

  • Rebar は CReBar クラスに属します。

3d85fetk.alert_caution(ja-jp,VS.90).gif重要 :

MFC Version 4.0 以前のバージョンでは、ツール バー、ステータス バー、およびツール ヒントは、MFC 独自の機能として実装されていました。MFC Version 4.0 以降では、comctl32.dll のシステム機能として実装されています。MFC Version 6.0 では、comctl32.dll の拡張機能である CReBar が追加されました。

ここでは、各種のコントロール バーについて簡単に紹介します。詳細については、以下の説明内に示されたリンク先を参照してください。

コントロール バー

コントロール バーを利用すると、1 回の操作ですばやくコマンドを実行できるため、プログラムを簡単に使用できます。CControlBar クラスには、すべてのツール バー、ステータス バー、およびダイアログ バーに共通の機能が定義されています。CControlBar クラスには、コントロール バーを親フレーム ウィンドウ内に配置する機能も定義されています。通常、コントロール バーは親フレーム ウィンドウの子ウィンドウなので、フレーム ウィンドウのクライアント ビューまたは MDI クライアントとは "兄弟" の関係にあります。コントロール バー オブジェクトは、親ウィンドウのクライアント領域に関する情報を基に、自身を配置します。次に、クライアント ビューまたは MDI クライアント ウィンドウが残りの領域に収まるように、親の残りのクライアント ウィンドウ領域が調整されます。

3d85fetk.alert_note(ja-jp,VS.90).gifメモ :

コントロール バーのボタンに COMMAND ハンドラまたは UPDATE_COMMAND_UI ハンドラがない場合、フレームワークは自動的にボタンを無効にします。

ツール バー

ツール バーは、コマンドを実行するビットマップ ボタンが一列に配置されたコントロール バーです。ツール バー ボタンをクリックすることによって、メニュー項目を選択したときと同じ操作を実行できます。メニュー項目がツール バー ボタンと同じ ID の場合、そのメニュー項目に対応付けられているのと同じハンドラが呼び出されます。ツール バーのボタンには、プッシュ ボタン、オプション ボタン、またはチェック ボックスの外観と動作を設定できます。ツール バーは通常、フレーム ウィンドウの上部に並べられますが、MFC ツール バーは親ウィンドウの任意の辺にドッキングしたり、独立したミニ フレーム ウィンドウとしてフローティングしたりできます。また、ツール バーをフローティングして、サイズを変更したり、マウスでドラッグすることもできます。さらに、マウス ポインタがツール バーのボタン上に移動したときに、ツール ヒントを表示することもできます。ツール ヒントは、ボタンの用途の簡単な説明を表示する小さなポップアップ ウィンドウです。

3d85fetk.alert_note(ja-jp,VS.90).gifメモ :

MFC Version 4.0 以降、CToolBar クラスは Windows ツール バーのコモン コントロールを使用します。CToolBar クラスには、CToolBarCtrl クラスが含まれています。ただし、以前のバージョンのツール バーもサポートされています。詳細については、「MFC ツール バーの実装」を参照してください。

ステータス バー

ステータス バーは、テキスト出力ペイン、つまり "インジケータ" を表示するコントロール バーです。通常、出力ペインはメッセージ行およびステータス インジケータとして使用されます。メッセージ行の例としては、コマンド ヘルプ メッセージがあります。コマンド ヘルプ メッセージは、MFC AppWizard で作成された既定のステータス バーの左端ペインに表示され、選択されたメニューまたはツール バー コマンドの簡単な説明を表示します。ステータス インジケータの例としては、ScrollLockNumLock などのキーの状態表示があります。ステータス バーは通常、フレーム ウィンドウの下端に配置されます。詳細については、「CStatusBar」クラスおよび「CStatusBarCtrl」クラスを参照してください。

ダイアログ バー

ダイアログ バーは、ダイアログ テンプレート リソースから作成されるコントロール バーで、モードレス ダイアログ ボックスの機能を備えています。ダイアログ バーには、各種の Windows コントロール、カスタム コントロール、または ActiveX コントロールを配置できます。ダイアログ ボックスの場合と同様に、Tab キーでコントロール間を移動できます。ダイアログ バーは、フレーム ウィンドウの上下左右いずれの辺にも配置できます。また、独立したフレーム ウィンドウとしてフローティング状態にすることもできます。詳細については、「CDialogBar」クラスを参照してください。

Rebar

Rebar は、rebar コントロールのドッキング、レイアウト、状態、および永続性の情報を提供するコントロール バーです。Rebar オブジェクトには、さまざまな子ウィンドウを含めることができます。子ウィンドウとなるのは、通常、エディット ボックス、ツール バー、リスト ボックスなどのコントロール類です。Rebar オブジェクトでは、指定されたビットマップ上にその子ウィンドウを表示できます。サイズは自動的に変更されるか、グリップ バーをクリックまたはドラッグして手動で変更します。詳細については、「CReBar」クラスを参照してください。

参照

その他の技術情報

ユーザー インターフェイス