ダイアログ バーはツール バーであり、任意の種類のコントロールを含むことができるコントロール バー の一種です。 モードレス ダイアログ ボックスの特性があるため、 CDialogBar オブジェクトは、より強力なツール バーを提供します。
ツール バーと CDialogBar オブジェクトには、いくつかの主な違いがあります。
CDialogBar オブジェクトは、Visual C++ ダイアログ エディターを使用して作成でき、任意の種類の Windows コントロールを含めることができるダイアログ テンプレート リソースから作成されます。 ユーザーは、コントロールから制御にタブを移動できます。 また、配置スタイルを指定して、ダイアログ バーを親フレーム ウィンドウの任意の部分に揃えたり、親のサイズを変更した場合は配置したままにしたりできます。 次の図は、さまざまなコントロールを含むダイアログ バーを示しています。
ダイアログ バー
他の点では、 CDialogBar オブジェクトの操作は、モードレス ダイアログ ボックスの操作に似ています。 ダイアログ エディターを使用して、ダイアログ リソースを設計および作成します。
ダイアログ バーの利点の 1 つは、ボタン以外のコントロールを含めることができるということです。
CDialogから独自のダイアログ クラスを派生させるのは普通ですが、通常はダイアログ バー用に独自のクラスを派生させるわけではありません。 ダイアログ バーはメイン ウィンドウの拡張機能であり、 BN_CLICKED や EN_CHANGEなどのダイアログ バー コントロール通知メッセージは、ダイアログ バーの親であるメイン ウィンドウに送信されます。