Win32 アプリケーションでは、特定のウィンドウのコントロールとレイアウト情報を含むダイアログ リソースを含めることができます。Visual Studio には、他の多くの Win32 リソース編集アプリケーションと同様に、グラフィカル ダイアログ リソース エディターが含まれています。これは、いくつかの制限はありますが、WinForms デザイナで慣れているものと多少似ています。Win32 は WinForms よりもはるかに古いテクノロジであり、RAD (迅速なアプリケーション開発) の原則を考慮して設計されたわけではありません。
Visual Studio でテンプレートに基づいて新しい Win32 プロジェクトを作成すると、[バージョン情報] ボックスという 1 つのダイアログ リソースが既に作成されています。ソリューション エクスプローラーで "ProjectName.rc" ファイルをダブルクリックし、"Dialog" リソース フォルダーを展開すると、それが表示されます。それをダブルクリックすると、このダイアログ ウィンドウのダイアログ エディタが表示されます。使い慣れたツールボックス ウィンドウを使用してコントロールを追加し、使い慣れたプロパティ ウィンドウを使用してそれらをカスタマイズできます。

もちろん、ダイアログ ウィンドウを表示するコードを記述する必要があります。これを行うには、次の 2 つの基本的な方法があります。
このDialogBox
関数はダイアログをモーダルに表示します。つまり、ユーザーはアプリケーションの残りの部分を操作する前にダイアログを閉じる必要があります。ユーザーにとっては不便ですが、Windows がダイアログのメッセージ ループを実行するため、プログラマーにとってはむしろ便利です。
このCreateDialog
関数は通常の (非モーダル) ダイアログを表示しますが、通常の非ダイアログ ウィンドウの場合と同様に、ダイアログ ウィンドウ用に独自のメッセージ ループを記述する必要があります。
各ウィンドウに個別のダイアログ リソースを追加することで、アプリケーションのすべてのウィンドウをこのように設計することも考えられますが、必ずしも良い考えではありません。新しい UI フレームワークを学習することの一部は、そのフレームワークを意図された方法で使用する方法を学習することです。実行時にコードを使用してコントロールを作成し、それらのプロパティを設定することはそれほど難しくなく、固定レイアウトに制限するよりもはるかに強力です。(実際、固定レイアウトのダイアログ リソースがある場合でも、実行時にこれらのコントロールをカスタマイズできるように、同様のコードを記述したい場合がよくあります。)