ダイアログ ボックス コントロール (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
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示