私はMFCの新機能ではなく、全く新しいものではありませんが、このフォーラムの専門家になぜ1つのプロジェクトを選択するのかと尋ねたかったのです。私はMFCに比較的新しいので、これは愚かな質問ではないことを願っています。ダイアログベースVs SDIプロジェクトの選択
答えて
そんなに
おかげで、アプリケーションがに最もよく合うテンプレート何に基づいて選択しました:
シングルドキュメントインターフェイス(SDI) - あなたのアプリケーションは、1文書またはデータオブジェクトまたはデータで作業する必要がある場合一度設定
例:notepad.exeを
マルチドキュメントインターフェイス(MDI) - あなたのapplicaitonが設定された複数の文書やデータオブジェクトまたはデータで作業する必要がある場合、一度に
例:Visual Studioの
ダイアログベース - 他の何かのために。
例:電卓
は、どんなにあなたが選んだものを、あなたはまだ終わりで使用可能な同じ機能を持っていない、あなたはどのような方法でそれをcusotmizeすることができます。だからあなたはあなたが何かを始めることに自分自身を制限していません。
すべてのバリアントには、MFCアプリケーションを派生させる基本クラスであるCWinAppが付属しています。
ダイアログベースのアプリケーションでは、CDialogで始まります。 SDIアプリケーションでは、CMainFrame、CDocument、およびCViewからも始まります。
SDIプロジェクトを選択すると、Model-View-Controllerフレームワーク全体が含まれます。 理想的にはすべてのデータを保持するドキュメントクラス(CDocumentから継承)と、表示に関連するビュークラス(CViewから継承)を取得します。 既にメニューが添付されたホスティングフレームが与えられ、保存してファイルに読み込むための機能があります。
ダイアログベースのアプリケーションを使用している場合、ダイアログが1つ表示されます。それでおしまい。もちろん、このダイアログは他のものを呼び出すことができますが、アプリケーションは本質的にダイアログで構成されています。
1つのタスクだけを実行する小さなアプリケーションを開発する場合は、オーバーヘッドを必要としないため、ダイアログアプリケーションが適しています。
ユーザーがデータの読み込み、編集、保存を行うアプリケーションを開発している場合は、SDIパスが適切です。
質問に答えると、WindowsフォームよりもMFCを選択した理由があるかどうか丁寧に尋ねました。私はMFCが当時の優れた技術だと信じていましたが、Visual Studioスイートはより高度なツールを提供しています(.NETパスを辿る準備ができていれば)。
「ドキュメント」がアプリケーションの正しいメタファである場合は、SDIまたはMDIを使用します。 (一度に1つの文書のみを開くことができ、複数の文書を複数開くことができます。)文書のメタファは、ほとんどのアプリケーションには適切ではありません。
- 1. VS2010 MFCダイアログベースのプロジェクトのリンカーエラー
- 2. CListViewベースのSDIアプリケーションの変更イベントの選択
- 3. CSS選択image/vs \
- 4. VS/Apache Cordova、フレームワークを選択
- 5. フィルタリングでのVS Charfieldの選択
- 6. Cassandra Vs Dynamoデータベースのプライマリキーの選択
- 7. Djangoプロジェクトのデータベース選択
- 8. as3 starling rendertexture vs meshbatch [選択の仕方]
- 9. SELECT COUNT(*)を選択し、VS * Teradataの
- 10. Impala - exists(サブクエリ)VS 0 <(選択カウント(*)...)
- 11. トピックVsキューを選択する方法
- 12. アニメーショングラフィックスの実装ダイアログベースのMFC
- 13. .NETプロジェクトのデータベースとORMの選択
- 14. SDIフレームのサイズ変更
- 15. Webプロジェクトvs.クラスライブラリ
- 16. なぜOnKeyDownは、ダイアログベースのMFCプロジェクトでキーイベントをキャッチしませんか?
- 17. プロジェクトごとにプロファイルを選択
- 18. ソリューションエクスプローラから選択したプロジェクト
- 19. VSのコードスニペット現在の行の下の選択をCONSOLE.LOGする
- 20. Visual Studio Configuration Managerすべてのプロジェクトを選択/選択解除します
- 21. 私のグラフィックのドラッグアンドドロップ機能 - ダイアログベースのMFC
- 22. Int vsフィールドの選択肢の文字列
- 23. CSS:多くの要素を選択する1つのクラスVS
- 24. AppDelegate(vs viewDidLoad)のUIブートストラップコードでルートビューコントローラを選択
- 25. React state Vs Redux Storeをいつ選択するのですか
- 26. Select * vsすべての列名を選択
- 27. SQL Serverのパフォーマンス:削除/挿入Vs選択/更新
- 28. VS IDEで選択したファイルをコンパイルするためのキーボードショートカット
- 29. カスタムVSプロジェクトテンプレートのプロジェクト参照
- 30. プロジェクト全体のIntellisense(VSコード)?
ご迷惑をおかけして申し訳ございません。私は残念なことに、Windowsフォームでの知識や訓練を知らない、または習得していません。おそらく、見るべきことかもしれません。 Visual C++とMFCでトレーニングを始めました。 –
「その日に」? MSがVisual Studio SuiteのMFCに追加し続ける進歩に気付きましたか?あたかもMFCを早めに引退したかのように聞こえます。私はWindows Formsと.NETの管理言語よりもMFCとアンマネージC++を好んでいます。古い学校に電話してください。管理されていないMFCアプリケーションは、管理された.NETアプリケーションのパフォーマンスを上回っています。私のクライアントは、開発者の利便性ではなく、パフォーマンスを犠牲にしています - それはもっと努力する必要がありますが、最終的な結果はその価値がありました。 – SAMills