方法: ダイアログ ボックスを作成する (C++)
C++ ダイアログ ボックスの場所とサイズ、その中のコントロールの場所とサイズは、ダイアログ ユニットで測定されます。 個々のコントロールとダイアログ ボックスの値は、選択すると、Visual Studio ステータス バーの右下に表示されます。
Note
プロジェクトに .rc ファイルがまだ含まれていない場合は、「リソース スクリプト ファイルの新規作成」を参照してください。
操作方法
ダイアログ エディターを使用すると、次の操作ができます。
新しいダイアログ ボックスを作成するには
[リソース ビュー] で、.rc ファイルを右クリックし、[リソースの追加] を選択します。
[リソースの追加] ダイアログ ボックスの [リソースの種類] ボックスの一覧で [ダイアログ] を選択し、[新規] を選択します。
[ダイアログ] のリソースの種類の横にプラス記号 (+) が表示される場合は、ダイアログ ボックスのテンプレートが使用できることを意味します。 プラス記号を選択してテンプレートの一覧を展開し、テンプレートを選択して、[新規] を選択します。
新しいダイアログ ボックスがダイアログ エディターで開きます。
ダイアログ ボックス エディターで、編集のために既存のダイアログ ボックスを開くこともできます。
ユーザーには終了できないダイアログ ボックスを作成するには
ユーザーには終了できない実行時ダイアログ ボックスを作成できます。 この種のダイアログ ボックスはログオンの場合や、アプリケーションやドキュメントをロックする場合に便利です。
ダイアログ ボックスの [プロパティ] ウィンドウで、[システム メニュー] プロパティを
false
に設定します。この設定によって、ダイアログ ボックスのシステム メニューと [閉じる] ボタンが無効になります。
ダイアログ ボックスのフォームで、 [キャンセル] ボタンと [OK] ボタンを削除します。
実行時にユーザーはこれらの特性を持つモーダル ダイアログ ボックスを終了できません。
この種のダイアログ ボックスをテストできるようにするため、Esc キーが押されると、ダイアログ ボックスのテスト機能がそれを検出します。 Esc キーは、VK_ESCAPE 仮想キーとも呼ばれます。 実行時にどのように動作するよう設計されているかに関わりなく、テスト モードで Esc キーを押すとダイアログ ボックスは終了します。
Note
MFC アプリケーションの場合、ユーザーが終了できないダイアログ ボックスを作成するには、OnOK
と OnCancel
の既定の動作をオーバーライドする必要があります。それらに関連付けられたボタンを削除しても、Enter キーまたは Esc キーを押せばダイアログ ボックスを終了できるためです。
ダイアログ ボックスの位置とサイズを指定するには
[プロパティ] ウィンドウには、ダイアログ ボックスが画面に表示される場所を指定するために設定できるプロパティがあります。
ブール値の [中央] プロパティ。
値を True に設定すると、ダイアログ ボックスは常に画面の中央に表示されます。 このプロパティを False に設定すると、XPos プロパティと YPos プロパティを設定できます。
ダイアログ ボックスが表示される画面上の場所を明示的に定義するために使用される XPos プロパティと YPos プロパティ。
これらの位置プロパティは、
{X=0, Y=0}
として定義されている表示領域の左上隅からのオフセット値です。位置に影響を与える [Absolute Align]\(絶対配置\) プロパティ。
True の場合、座標は画面に対する相対座標になります。 False の場合、座標はダイアログ所有者のウィンドウを基準にした相対座標になります。
ダイアログ ボックスをテストするには
ダイアログ ボックスを設計する際には、プログラムをコンパイルせずに実行時の動作をシミュレートし、テストできます。 このモードでは、次を行うことができます。
テキストの入力、コンボ ボックスの一覧での選択、オプションのオンとオフの切り替え、コマンドの選択。
タブ オーダーのテスト。
オプション ボタンやチェック ボックスなど、コントロールのグループ化のテスト。
ダイアログ ボックスにあるコントロールのキーボード ショートカットのテスト。
Note
ウィザードを使用したダイアログ ボックスのコードへの接続は、シミュレーションに含まれません。
通常、テストするダイアログ ボックスはメイン プログラム ウィンドウの相対位置に表示されます。 ダイアログ ボックスの [Absolute Align]\(絶対配置\) プロパティを [True] に設定している場合、ダイアログ ボックスは画面の左上隅の相対位置に表示されます。
ダイアログ エディターがアクティブなウィンドウの場合は、メニューの [書式]>[ダイアログのテスト] に移動します。
シミュレーションを終了するには、Esc キーを押すか、またはテストしているダイアログ ボックスの [閉じる] ボタンを選択します。
要件
Win32