次の表では、MFC アプリケーションの開発時に通常従う一般的なシーケンスについて説明します。
フレームワークを使用してアプリケーションをビルドするためのシーケンス
課題 | そうですよね | フレームワークでは、次の処理が行われます。 |
---|---|---|
スケルトン アプリケーションを作成します。 | MFC アプリケーション ウィザードを実行します。 オプション ページで必要なオプションを指定します。 オプションには、アプリケーションを COM コンポーネント、コンテナー、またはその両方にする方法があります。Automation を追加する。アプリケーションをデータベース対応にします。 | MFC アプリケーション ウィザードは、スケルトン アプリケーションのファイルを作成します。これには、アプリケーション、ドキュメント、ビュー、フレーム ウィンドウのソース ファイルが含まれます。リソース ファイル。プロジェクト ファイル。その他、すべてお客様の仕様に合わせて調整されています。 |
独自のコード行を追加せずに、フレームワークと MFC アプリケーション ウィザードで提供される内容を確認します。 | スケルトン アプリケーションをビルドし、Visual C++ で実行します。 | 実行中のスケルトン アプリケーションは、フレームワークから多くの標準の [ファイル]、[編集]、[表示]、および [ヘルプ] メニュー コマンドを派生させます。 MDI アプリケーションの場合は、完全に機能する Windows メニューも取得し、フレームワークは MDI 子ウィンドウの作成、配置、および破棄を管理します。 |
アプリケーションのユーザー インターフェイスを構築します。 | Visual C++ リソース エディター を使用して、アプリケーションのユーザー インターフェイスを視覚的に編集します。 - メニューを作成します。 - アクセラレータを定義します。 - ダイアログ ボックスを作成します。 - ビットマップ、アイコン、カーソルを作成および編集します。 - MFC アプリケーション ウィザードで作成したツール バーを編集します。 - 他のリソースを作成および編集します。 ダイアログ エディターでダイアログ ボックスをテストすることもできます。 |
MFC アプリケーション ウィザードによって作成された既定のリソース ファイルには、必要なリソースの多くが用意されています。 Visual C++ を使用すると、既存のリソースを編集し、新しいリソースを簡単かつ視覚的に追加できます。 |
メニューをハンドラー関数にマップします。 | メニューとアクセラレータをコード内のハンドラー関数に接続するには、クラス ビューの [プロパティ] ウィンドウ (またはクラス ウィザードの [コマンド] タブ) の [イベント] ボタンを使用します。 | これらのツールは、指定したソース ファイルにメッセージ マップ エントリと空の関数テンプレートを挿入し、多くの手動コーディング タスクを管理します。 |
ハンドラー コードを記述します。 | クラス ビューを使用して、ソース コード エディターのコードに直接ジャンプします。 ハンドラー関数のコードを入力します。 クラス ビューの使用方法と、プロジェクトにコードを追加するウィザードの詳細については、「 コード ウィザードを使用した機能の追加」を参照してください。 | クラス ビューでエディターが開き、空の関数テンプレートまでスクロールし、カーソルを置きます。 |
ツール バー ボタンをコマンドにマップします。 | ボタンに適切なコマンド ID を割り当てることで、ツール バーの各ボタンをメニューまたはアクセラレータ コマンドにマップします。 | フレームワークは、ツール バー ボタンの描画、有効化、無効化、チェック、その他の視覚的側面を制御します。 |
ハンドラー関数をテストします。 | プログラムをリビルドし、組み込みのデバッグ ツールを使用して、ハンドラーが正しく動作することをテストします。 | コードをステップ実行またはトレースして、ハンドラーがどのように呼び出されるかを確認できます。 ハンドラー コードを入力した場合、ハンドラーはコマンドを実行します。 フレームワークでは、処理されないメニュー項目とツール バー ボタンが自動的に無効になります。 |
ダイアログ ボックスを追加します。 | ダイアログ エディターを使用してダイアログ テンプレート リソースを設計します。 次に、ダイアログ クラスと、ダイアログ ボックスを処理するコードを作成します。 | フレームワークはダイアログ ボックスを管理し、ユーザーが入力した情報の取得を容易にします。 |
ダイアログ ボックス データを初期化、検証、および取得します。 | ダイアログ ボックスのコントロールを初期化および検証する方法を定義することもできます。 Visual Studio を使用して、ダイアログ クラスにメンバー変数を追加し、それらをダイアログ コントロールにマップします。 ユーザーがデータを入力する場合に、各コントロールに適用する検証規則を指定します。 必要に応じて、独自のカスタム検証を指定します。 | フレームワークは、ダイアログ ボックスの初期化と検証を管理します。 ユーザーが無効な情報を入力すると、フレームワークによってメッセージ ボックスが表示され、ユーザーがデータを再入力できるようになります。 |
追加のクラスを作成します。 | クラス ビューを使用して、MFC アプリケーション ウィザードによって自動的に作成されたクラス以外の追加のドキュメント、ビュー、およびフレーム ウィンドウ クラスを作成します。 追加のデータベース レコードセット クラス、ダイアログ クラスなどを作成できます。 (クラス ビューでは、MFC クラスから派生しないクラスを作成できます)。 | クラス ビューは、これらのクラスをソース ファイルに追加し、処理するすべてのコマンドへの接続を定義するのに役立ちます。 |
すぐに使用できるコンポーネントをアプリケーションに追加します。 |
New Item dialog box を使用して、さまざまな項目を追加します。 |
これらの項目は、アプリケーションに簡単に統合でき、作業を大幅に節約できます。 |
ドキュメント クラスを実装します。 | アプリケーション固有のドキュメント クラスまたはクラスを実装します。 データ構造を保持するメンバー変数を追加します。 データへのインターフェイスを提供するメンバー関数を追加します。 | フレームワークは、ドキュメント データ ファイルを操作する方法を既に認識しています。 ドキュメント ファイルを開いたり閉じたり、ドキュメントのデータを読み書きしたり、他のユーザー インターフェイスを処理したりできます。 ドキュメントのデータの操作方法に重点を置くことができます。 |
[開く]、[保存]、[名前を付けて保存] のコマンドを実装します。 | ドキュメントの Serialize メンバー関数のコードを記述します。 |
フレームワークは、[ファイル] メニューの [開く]、[保存]、および [名前を付けて保存] コマンドのダイアログ ボックスを表示します。
Serialize メンバー関数で指定されたデータ形式を使用して、ドキュメントの書き込みと読み取りを行います。 |
ビュー クラスを実装します。 | ドキュメントに対応する 1 つ以上のビュー クラスを実装します。 クラス ビューを使用してユーザー インターフェイスにマップしたビューのメンバー関数を実装します。 CListView や CTreeView など、さまざまな CView 派生クラスを使用できます。 | フレームワークは、ドキュメントとそのビューの間のリレーションシップの大部分を管理します。 ビューのメンバー関数は、ビューのドキュメントにアクセスして、その画像を画面または印刷ページにレンダリングし、ユーザー編集コマンドに応答してドキュメントのデータ構造を更新します。 |
既定の印刷を強化します。 | マルチページ印刷をサポートする必要がある場合は、ビュー メンバー関数をオーバーライドします。 | このフレームワークでは、[ファイル] メニューの [印刷]、[ページ設定]、および [印刷プレビュー] コマンドがサポートされています。 文書を複数のページに分割する方法を伝える必要があります。 |
スクロールを追加します。 | スクロールをサポートする必要がある場合は、 CScrollView からビュー クラスまたはクラスを派生させます。 | ビュー ウィンドウが小さくなりすぎると、ビューによってスクロール バーが自動的に追加されます。 |
フォーム ビューを作成します。 | ダイアログ テンプレート リソースに基づいてビューを作成する場合は、 CFormView からビュー クラスまたはクラスを派生させます。 | ビューでは、ダイアログ テンプレート リソースを使用してコントロールを表示します。 ユーザーは、ビュー内のコントロールからコントロールにタブを移動できます。 |
データベース フォームを作成します。 | フォーム ベースのデータ アクセス アプリケーションが必要な場合は、 CRecordView (ODBC プログラミング用) からビュー クラスを派生させます。 | ビューはフォーム ビューのように機能しますが、そのコントロールはデータベース テーブルを表す CRecordset オブジェクトのフィールドに接続されます。 MFC はコントロールとレコードセットの間でデータを移動します。 |
単純なテキスト エディターを作成します。 | ビューを単純なテキスト エディターにする場合は、CEditView または CRichEditView からビュー クラスまたはクラスを派生させます。 | このビューには、編集機能、クリップボードのサポート、およびファイルの入力/出力が用意されています。
CRichEditView はスタイル付きテキストを提供します。 |
分割ウィンドウを追加します。 | ウィンドウ分割をサポートする場合は、SDI フレーム ウィンドウまたは MDI 子ウィンドウに CSplitterWnd オブジェクトを追加し、ウィンドウの OnCreateClient メンバー関数にフックします。 | フレームワークは、スクロール バーの横に分割ボックス コントロールを提供し、ビューを複数のペインに分割します。 ユーザーがウィンドウを分割すると、フレームワークによって追加のビュー オブジェクトが作成され、ドキュメントにアタッチされます。 |
アプリケーションをビルド、テスト、デバッグします。 | Visual C++ の機能を使用して、アプリケーションをビルド、テスト、デバッグします。 | Visual C++ では、コンパイル、リンク、およびその他のオプションを調整できます。 また、ソース コードとクラス構造を参照することもできます。 |
こちらも参照ください
OLE アプリケーションを作成するための一連の操作
ActiveX コントロールを作成するための一連の操作
データベース アプリケーションを作成するための一連の操作
フレームワーク上でのビルド