ダイアログ ボックス コントロール (C++)

コントロールをダイアログ ボックスに追加するには、[ツールボックス] ウィンドウの [ダイアログ エディター] タブを使用します。ここでは、必要なコントロールを選択してダイアログ ボックスにドラッグできます。 既定では、[ツールボックス] ウィンドウは自動的に非表示になるように設定されています。 これは、ダイアログ エディターが開いているときに、ソリューションの左余白にタブとして表示されます。 ただし、ウィンドウの右上隅にある [自動的に隠す] ボタンを選択して、[ツールボックス] ウィンドウを位置にピン留めすることができます。 このウィンドウの動作を制御する方法の詳細については、ウィンドウ管理に関する記事を参照してください。

ダイアログ ボックスへのコントロールの追加、既存のコントロール位置の変更、あるダイアログ ボックスから別のダイアログ ボックスへのコントロールの移動を行うための最も簡単な方法は、ドラッグ アンド ドロップを使用する方法です。 コントロールの位置は、ダイアログ ボックスにドロップされるまで点線で囲まれます。 ドラッグ アンド ドロップ メソッドを使用してコントロールをダイアログ ボックスに追加すると、コントロールは、そのコントロールの種類に適した標準の高さになります。

コントロールをダイアログ ボックスに追加するか、コントロールの位置の変更を行うと、その最終的な配置は、ガイドや余白によって決まります。または、レイアウト グリッドが有効になっているかどうかによって決まります。

ダイアログ ボックスにコントロールを追加したら、[プロパティ] ウィンドウでキャプションなどのプロパティを変更できます。 複数のコントロールを選択し、それらのプロパティをすべて一度に変更することもできます。

ダイアログ エディターの詳細については、コントロールの追加、編集、または削除コントロールのレイアウトコントロールのアクセスと値の定義を行う方法に関する記事を参照してください。

コントロールとダイアログの詳細については、「コントロール クラス」、「ダイアログ ボックス クラス」、「スクロール バーのスタイル」を参照してください。

既定のイベント使用して [ツールボックス] で使用できる標準コントロールは次のとおりです。

コントロール名 既定のイベント
Button コントロール BN_CLICKED
チェック ボックス コントロール BN_CLICKED
コンボ ボックス コントロール CBN_SELCHANGE
コントロールの編集 EN_CHANGE
グループ ボックス (該当なし)
リスト ボックス コントロール LBN_SELCHANGE
ラジオ ボタン コントロール BN_CLICKED
静的テキスト コントロール (該当なし)
画像コントロール (該当なし)
リッチ エディット 2.0 コントロール EN_CHANGE
スクロール バー コントロール NM_THEMECHANGED

Note

MFC での RichEdit 1.0 コントロールの使用について詳しくは、MFC での RichEdit 1.0 コントロールの使用に関する記事と、「リッチ エディット コントロールの例」をご覧ください。

ツールボックスで使用できる Windows コモン コントロールによって、次のような高度な機能が使用できます。

コントロール名 既定のイベント
スライダー コントロール NM_CUSTOMDRAW
スピン コントロール UDN_DELTAPOS
進行状況コントロール NM_CUSTOMDRAW
ホット キー コントロール NM_OUTOFMEMORY
リスト コントロール LVN_ITEMCHANGE
ツリー コントロール TVN_SELCHANGE
タブ コントロール TCN_SELCHANGE
アニメーション コントロール ACN_START
日時指定コントロール DTN_DATETIMECHANGE
Month Calendar コントロール MCN_SELCHANGE
IP アドレス コントロール IPN_FIELDCHANGED
拡張コンボ ボックス コントロール
カスタム コントロール TTN_GETDISPINFO

カスタム コントロール

ダイアログ エディターでは、ダイアログ ボックス テンプレートで既存のカスタム コントロールまたはユーザー コントロールを使用できます。

Note

この意味でのカスタム コントロールは、ActiveX コントロールと混同しないようにする必要があります。 ActiveX コントロールは、OLE カスタム コントロールと呼ばれる場合もあります。 また、これらのコントロールを Windows のオーナー描画コントロールと混同しないようにしてください。

この機能は、Windows によって提供されるコントロール以外のコントロールを使用できるようにするためのものです。 実行時に、コントロールはウィンドウ クラスに関連付けられます (C++ クラスとは異なります)。 同じタスクを実行する一般的な方法として、ダイアログ ボックスに静的コントロールなどのコントロールをインストールする方法があります。 次に、実行時に、OnInitDialog 関数でそのコントロールを削除し、独自のカスタム コントロールに置き換えます。

Note

これは以前の手法です。 現在、ほとんどの場合は、ActiveX コントロールを記述するか、Windows コモン コントロールをサブクラス化することをお勧めします。

これらのカスタム コントロールには、次の制限があります。

  • ダイアログ ボックス内の場所を設定します。

  • キャプションを入力します。

  • アプリケーション コードがこの名前によってコントロールを登録する必要があるため、コントロールの Windows クラスの名前を識別します。

  • コントロールのスタイルを設定する 32 ビットの 16 進値を入力します。

  • 拡張スタイルを設定します。

必要条件

Win32

関連項目

ダイアログ エディター