3

Win32 アプリケーションを作成する必要があります。私はビジュアルスタジオを使用しています。ウィンドウをグラフィカルにデザインできる Windows フォームでアプリケーションをデザインするのが本当に好きです。

ただし、Windows フォーム (のみ) は使用できません。Win32 アプリケーションを使用する必要があります。現在、Win32 アプリケーションを作成するとき、ウィンドウをグラフィカルにデザインすることができません。

Win32 アプリケーションに Windows フォームを組み込む方法はありますか? または、Win32 ウィンドウをグラフィカルにデザインしますか?

(Win32 アプリケーションの GUI をグラフィカルに設計する方法があり、それを理解できなかったのが私だけである場合は、それを行うためのリソースまたは方法に感謝します。)

4

1 に答える 1

3

Win32 アプリケーションでは、特定のウィンドウのコントロールとレイアウト情報を含むダイアログ リソースを含めることができます。Visual Studio には、他の多くの Win32 リソース編集アプリケーションと同様に、グラフィカル ダイアログ リソース エディターが含まれています。これは、いくつかの制限はありますが、WinForms デザイナで慣れているものと多少似ています。Win32 は WinForms よりもはるかに古いテクノロジであり、RAD (迅速なアプリケーション開発) の原則を考慮して設計されたわけではありません。

Visual Studio でテンプレートに基づいて新しい Win32 プロジェクトを作成すると、[バージョン情報] ボックスという 1 つのダイアログ リソースが既に作成されています。ソリューション エクスプローラーで "ProjectName.rc" ファイルをダブルクリックし、"Dialog" リソース フォルダーを展開すると、それが表示されます。それをダブルクリックすると、このダイアログ ウィンドウのダイアログ エディタが表示されます。使い慣れたツールボックス ウィンドウを使用してコントロールを追加し、使い慣れたプロパティ ウィンドウを使用してそれらをカスタマイズできます。

   

もちろん、ダイアログ ウィンドウを表示するコードを記述する必要があります。これを行うには、次の 2 つの基本的な方法があります。

  • このDialogBox関数はダイアログをモーダルに表示します。つまり、ユーザーはアプリケーションの残りの部分を操作する前にダイアログを閉じる必要があります。ユーザーにとっては不便ですが、Windows がダイアログのメッセージ ループを実行するため、プログラマーにとってはむしろ便利です。

  • このCreateDialog関数は通常の (非モーダル) ダイアログを表示しますが、通常の非ダイアログ ウィンドウの場合と同様に、ダイアログ ウィンドウ用に独自のメッセージ ループを記述する必要があります。

各ウィンドウに個別のダイアログ リソースを追加することで、アプリケーションのすべてのウィンドウをこのように設計することも考えられますが、必ずしも良い考えではありません。新しい UI フレームワークを学習することの一部は、そのフレームワークを意図された方法で使用する方法を学習することです。実行時にコードを使用してコントロールを作成し、それらのプロパティを設定することはそれほど難しくなく、固定レイアウトに制限するよりもはるかに強力です。(実際、固定レイアウトのダイアログ リソースがある場合でも、実行時にこれらのコントロールをカスタマイズできるように、同様のコードを記述したい場合がよくあります。)

于 2013-08-20T08:07:26.797 に答える