方法: コントロールを追加、編集、または削除する (C++)
ダイアログ エディターを使用すると、ダイアログ ボックス内のコントロールの追加、サイズ変更、編集、および削除を行うことができます。 また、ID などのコントロールのプロパティや、実行時に最初に表示されるかどうかを編集することもできます。
ダイアログ エディターで作業する場合、[ダイアログ エディター] タブが [ツールボックス] ウィンドウ表示されます。 また、より簡単に使用できるようにツールボックス ウィンドウをカスタマイズすることもできます。 詳細については、「ツールボックスの使用」および「ツールボックス ウィンドウを表示または非表示にします」を参照してください。
ヒント
ダイアログ エディターをさまざまな状況で使用している場合は、マウスの右ボタンをクリックすると、頻繁に使用するコマンドのショートカット メニューを表示できます。
コントロールを追加する
コントロールを追加するには
ダイアログ ボックスのタブ付きウィンドウがエディター フレーム内の現在のドキュメントであることを確認します。 ダイアログが現在のドキュメントでない場合は、 ツールボックス に [ダイアログ エディター] タブが表示されません。
[ツールボックス] ウィンドウ の [ダイアログ エディター] タブで、必要なコントロールを選び、次のいずれかを実行します。
コントロールを配置する場所でダイアログ ボックスを選択すると、コントロールが選択した場所に表示されます。
[ツールボックス] ウィンドウからダイアログ ボックス上の位置にコントロールをドラッグ アンド ドロップします。 次いでコントロールの移動、またはサイズと形状の変更ができます。
ツールボックス ウィンドウでコントロールをダブルクリックすると、ダイアログ ボックスに表示されます。 コントロールを好きな位置に移動します。
複数のコントロールを追加するには
Ctrl キーを押しながら、ツールボックス ウィンドウでコントロールを選択します。
Ctrl キーを離し、特定のコントロールを追加するのと同じ回数だけダイアログ ボックスを選択します。
Esc キーを押して、コントロールの配置を停止します。
コントロールの追加時にサイズを変更するには
ツールボックス ウィンドウでコントロールを選択します。
十字カーソルとして表示されるカーソルを配置します。この場合、新しいコントロールの左上隅がダイアログ ボックスに表示されます。
ダイアログ ボックス上のコントロールの左上隅を固定するには、マウスボタンを押したままにします。 次に、カーソルを右にドラッグして、コントロールが必要なサイズになるまでドラッグします。
Note
描画するコントロールの四隅のいずれかを固定することができます。 この手順では、例として左上隅を使用しています。
マウスのボタンを離します。 指定したサイズのダイアログ ボックスにコントロールが表示されます。
ヒント
コントロールの境界線のサイズ変更ハンドルを移動すると、ダイアログ ボックスにドロップした後でコントロールのサイズを変更できます。 詳細については、「各コントロールのサイズ変更」を参照してください。
カスタム コントロールを追加するには
ダイアログ ボックスにカスタム コントロールを追加できます。 ツールボックスのカスタムコントロール アイコンを選択し、ダイアログ ボックスにドラッグします。 Syslink
コントロールを追加するには、カスタム コントロールを追加し、コントロールの Class プロパティを Syslink
に変更します。 このアクションにより、プロパティが更新され、Syslink
コントロールのプロパティが表示されます。 MFC ラッパー クラスについては、「CLinkCtrl」をご覧ください。
エディット コントロール
コントロールまたはコントロールのプロパティを編集するには
ダイアログ ボックスで、変更するコントロールを選択します。
Note
複数のコントロールを選択した場合は、選択したコントロールに共通のプロパティだけを編集できます。
プロパティ ウィンドウで、コントロールのプロパティを変更します。
Note
ボタン、オプション ボタン、チェック ボックスコントロールの Bitmap プロパティを Trueに設定すると、スタイル BS_BITMAP がコントロールに対して実装されます。 詳しくは、「ボタンのスタイル」をご覧ください。 ビットマップをコントロールに関連付ける例については、「CButton:: SetBitmap」を参照してください。 ダイアログ エディターでは、コントロールにビットマップが表示されません。
コントロールのプロパティへの変更を元に戻すには
ダイアログ エディターでコントロールにフォーカスがあることを確認します。
メニューの [編集]>[元に戻す] に移動します。 フォーカスがコントロールにない場合、[元に戻す] コマンドは使用できません。
ボタン以外のダイアログ ボックス コントロールのメンバー変数を定義するには
Note
この処理に該当するのは、MFC プロジェクト内のダイアログ コントロールだけです。 ATL プロジェクトでは、[Windows メッセージおよびイベント ハンドラーの新規作成] ダイアログ ボックスを使用する必要があります。 詳細については、「ユーザー インターフェイス オブジェクトに関連付けられたメッセージ」、「メッセージ ハンドラーの編集」、および「リフレクション メッセージ用のメッセージ ハンドラーの定義」を参照してください。
ダイアログ エディターでコントロールを選択します。
Ctrl キーを押しながら、ダイアログ ボックスコントロールをダブルクリックします。
メンバー変数の追加ウィザードが表示されます。
メンバー変数の追加ウィザードに、適切な情報を入力します。 詳細については、「ダイアログ データ エクスチェンジ」を参照してください。
[OK] をクリックして、ダイアログ エディターに戻ります。
ヒント
ダイアログ ボックス コントロールから既存のハンドラーにジャンプするには、コントロールをダブルクリックします。
MFC クラス ウィザードの [メンバー変数] タブを使用すると、指定したクラスに新しいメンバー変数を追加したり、定義済みのメンバー変数を表示したりすることもできます。
コントロールの削除
ダイアログ ボックスで、コントロールを選択し、Del キーを押すか、[メニューの [編集]>[削除] の順にクリックします。
その他の問題
トラブルシューティング
共通コントロールまたはリッチ エディット コントロールをダイアログ ボックスに追加した後は、ダイアログ ボックスをテストしても表示されません。 または、ダイアログ自体も表示されません。 次に例を示します。
Win32 プロジェクトを作成し、アプリケーションの設定を変更して (コンソール アプリケーションではなく) Windows アプリケーションを作成します。
リソース ビューで、.rc ファイルをダブルクリックします。
ダイアログ オプションの下で、[バージョン情報] ボックスをダブルクリックします。
ダイアログ ボックスに IP アドレス コントロールを追加します。
保存して [すべてリビルド] します。
プログラムを実行します。
ダイアログ ボックスの [ヘルプ] メニューで、[バージョン情報] コマンドを選択して、ダイアログ ボックスが表示されないことを確認します。
現在、ダイアログ エディターでは、次の共通コントロールまたはリッチ エディット コントロールをダイアログ ボックスにドラッグ アンド ドロップしたときに、プロジェクトにコードが自動的に追加されません。 また、この問題が発生したときにエラーまたは警告が Visual Studio 提供されることもありません。 修正するには、コントロールのコードを手動で追加します。
アニメーション コントロール
カスタム コントロール
Date Time Picker
拡張コンボ ボックス
ホット キー
IP アドレスの管理
リスト コントロール
Month Calendar
プログレス コントロール
リッチ エディット 2.0 コントロール
リッチ エディット コントロール
スライダー コントロール
スピン コントロール
タブ コントロール
ツリー コントロール
ダイアログ ボックスで共通コントロールを使用するには、InitCommonControlsEx または AFXInitCommonControls
をダイアログ ボックスを作成する前に呼び出す必要があります。
RichEdit コントロールを使用するには、LoadLibrary
を呼び出す必要があります。 詳細については、Windows SDK でリッチ エディト コントロールについておよびリッチ エディト コントロールの概要について参照してください。
Note
MFC で RichEdit コントロールを使用するには、まず AfxInitRichEdit2 を呼び出して RichEdit 2.0 コントロール (RICHED20.DLL) を読み込むか、AfxInitRichEdit を呼び出して古い RichEdit 1.0 コントロール (RICHED32.DLL) を読み込む必要があります。
現在の CRichEditCtrl クラスは、古い RichEdit 1.0 コントロールと一緒に使用できますが、CRichEditCtrl
は、RichEdit 2.0 コントロールをサポートするようにのみ設計されています。 RichEdit 1.0 と RichEdit 2.0 は似ているため、ほとんどのメソッドが機能します。 ただし、1.0 コントロールと 2.0 コントロールにはいくつかの違いがあります。そのため、一部のメソッドが正しく動作しないか、または全く機能しない場合があります。
ActiveX コントロールの挿入
Visual Studio では、ActiveX コントロールをダイアログ ボックスに挿入することができます。 詳細については、「MFC ActiveX コントロール」と「ActiveX コントロール コンテナー」を参照してください。
[ActiveX コントロールの挿入] ダイアログ ボックスを使用すると、ダイアログ エディターを使用して ActiveXコントロールをダイアログ ボックスに挿入できます。 このダイアログ ボックスには、次のプロパティがあります。
プロパティ | 説明 |
---|---|
ActiveX コントロール | ActiveX コントロールの一覧を表示します。 このダイアログ ボックスからコントロールを挿入しても、ラッパー クラスは生成されません。 ラッパー クラスが必要な場合は、クラス ビューを使用して作成してください。「クラスの追加」を参照してください。 ActiveX コントロールがこのダイアログ ボックスに表示されない場合は、ベンダーの指示に従ってコントロールをインストールしてみてください。 |
Path | ActiveX コントロールが見つかったファイルを表示します。 |
注意事項
システム上の ActiveX コントロールの中には、配布が法的に許可されていないものもあります。 コントロールをインストールしたソフトウェアのライセンス契約を参照するか、ソフトウェア会社に問い合わせてください。
ActiveX コントロールを追加するには
ダイアログ エディターでダイアログ ボックスを開きます。
ダイアログ ボックスの本文内の任意の場所を右クリックし、[ActiveX コントロールの挿入] を選択します。
[ActiveX コントロールの挿入] ダイアログ ボックス が表示され、システム上のすべての ActiveX コントロールが表示されます。 ダイアログ ボックスの下部には、ActiveX コントロール ファイルへのパスが表示されます。
ダイアログ ボックスに追加するコントロールを選択し、[OK] を選択します。
コントロールがダイアログ ボックスに表示されます。このダイアログ ボックスで、他のコントロールでするのと同じように、コントロールの編集またはそのハンドラーの作成を行います。
ヒント
ダイアログ エディターのショートカット メニューを使用すると、登録済みの ActiveX コントロールをダイアログ ボックスにすばやく追加したり、[ツールボックス] ウィンドウに ActiveX コントロールを追加して簡単にアクセスすることもできます。
ActiveX コントロールのプロパティを編集するには
独立ベンダーによって提供される ActiveX コントロールには、独自のプロパティと特性が備わる場合があります。 これらのプロパティは、[プロパティ] ウィンドウに表示されます。 ActiveX コントロールのライターによって作成されたプロパティ ページは、[プロパティ ページ] ダイアログ ボックスに表示されます。 (特定の ActiveX コントロールの [プロパティ ページ] を表示するには、[プロパティ ページ] ボタンを [プロパティ ウィンドウ] で選択します)。
ActiveX コントロールを選択し、メニューの [表示]>[プロパティ ページ] に移動してプロパティを表示します。 プロパティ ページで必要に応じて変更を行います。
ActiveX コントロールのプロパティ ページには、ActiveX コントロールの一部として提供されるプロパティ シートに応じて、さまざまなタブが表示されます。
Note
この手順は、プロパティ ページを使用した ActiveX コントロールの編集に適用されます。 新しい [プロパティ] ウィンドウで ActiveX プロパティを参照および編集することもできます。
要件
Win32
関連項目
ダイアログ ボックス コントロールを管理する
方法: レイアウト コントロール
方法: コントロールのアクセスおよび値を定義する