web-dev-qa-db-ja.com

.NETのWindowsフォームのようなVisual StudioのMFC用デザイナーはありますか?

私は.NETプログラマーです。 MFCで何も開発したことがありません。現在、私はいくつかの画像処理タスクのためにC++アプリケーション(コンソール)を書かなければなりませんでした。書き終えました。しかし、ポイントは私もこれのためにGUIを設計する必要があるということです。まあ、複雑なことはありません。いくつかのボタン、RadioButtons、チェックボックス、PictureBox、およびいくつかのスライダーを備えた単なるウィンドウ。それでおしまい。

私はVS 2008を使用しており、.NETスタイルのフォームデザイナーを求めていました。

テストのために、MFCプロジェクトを作成し(すべてデフォルトの構成で)、これらのファイルはデフォルトで作成されました。

ChildFrm.cpp
MainFrm.cpp
mfc.cpp
mfcDoc.cpp
mfcView.cpp
stdafx.cpp

現在、Designerが見つかりません。ビュー>デザイナーはありません。上記のすべての* .cppを開き、コードエディターで右クリックして「デザイナービュー」を表示しました。コードエディターモードなので、ToolBoxは空です。

デザイナーを開くには?

28
claws

これは、Alex Farberの答えを拡張したものです。これは基本的に正しいですが、多少不完全です。

アプリケーションを最初に作成するときに、アプリケーションタイプを選択できます。

alt text

ご覧のとおり、Application typeは「複数のドキュメント」ですが、そのすぐ下に「ダイアログベース」があります。これを選択すると、メインウィンドウ(デフォルト)に「OK」ボタンと「キャンセル」ボタン(および「ここにコントロールを追加」などの静的コントロール)があるアプリケーションが生成されます。アプリケーションの作成が完了したら、さらにコントロールを追加して、アプリケーションに役立つ何かを実行させることができます。これは、有効期間が比較的短いアプリケーションに最適です。つまり、アプリケーションを開いていくつかのフィールドに入力し、[OK](または[キャンセル])をクリックして再度閉じます。他のシナリオでも同様に機能しますが、それが本当の強みです。

通常のメニューなどを備えた典型的な.NETアプリケーションのようなものだけでなく、ウィンドウの表面にコントロールを配置する機能についても、ここでは通常「単一のアプリケーション」を選択しますが、「生成されたクラス」に到達すると画面:

alt text

ビュークラスの基本クラスのドロップダウンリストで、デフォルトのCViewの選択をCFormViewに変更する必要があります。これにより、一種の組み合わせが得られます。アプリケーションは全体としてDocument/Viewアーキテクチャに基づいていますが、Viewクラスは基本的にダイアログのように動作するため、コントロールをホストできます。 「完了」ボタンをクリックすると、印刷サポートが利用できないことを警告します。これに同意すると、アプリケーションが作成されます。 (探しているデザイナーと同じ一般的な順序で)ウィンドウのフォームを編集するには、左側のツールウィンドウで[リソースビュー]を開き、ダイアログのリストでフォームを開きます。

alt text

これを開くと、ダイアログエディタを使用して、フォームにコントロールなどを配置できます。

alt text

まとめると、MFCにはさらに多くの選択肢があります。これらの選択肢の1つ(または2つ)は、.NET/WinFormsで慣れているものとかなり密接に対応しています。他のものはかなり異なります-そして、それが起こると、デフォルトの選択は「異なる」カテゴリに分類されます。

37
Jerry Coffin

Win32ダイアログデザイナーは、ダイアログで使用できます。アプリケーションタイプWizardステップで[ダイアログベースのアプリケーション]を選択して新しいプロジェクトを作成します。プロジェクトが作成されたら、リソースビューを開き、[ダイアログ]ノードを展開して、メインダイアログをダブルクリックすると、ダイアログデザイナーが表示されます。開いた。

MDI/SDIアプリケーションの場合、作成したように、WizardステップのいずれかでベースクラスとしてCFormViewを選択できます。これにより、フレームに埋め込まれたダイアログが作成され、リソースビューでデザイナーを使用できます。

また、Win32/MFCアプリケーションごとに、リソースビューから新しいダイアログ(メインウィンドウではない)を追加できます。

9
Alex F

こちら を見てください。これはフォームデザイナのようなではないですが、最初から始める必要があります。

4
nc3b