次の方法で共有


フレームワークと記述したコードとの関係

更新 : 2007 年 11 月

ソース コードと MFC フレームワークのコード間のリレーションシップを理解することは、きわめて重要です。アプリケーションの実行中、制御フローの大部分はフレームワークのコードに属します。フレームワークはメッセージ ループを管理しており、ユーザーがコマンドを選択し、ビュー内のデータを編集すると、Windows からのメッセージを取得します。フレームワーク自身で処理できるイベントは、コードには依存しません。たとえば、フレームワークは、ユーザーからのコマンドに応じて、ウィンドウを閉じることも、アプリケーションを終了することもできます。こうした作業の処理時には、フレームワークはメッセージ ハンドラと C++ の仮想関数を使用するため、これらのイベントに応答できます。ただしアプリケーションのコードが制御しない場合は、フレームワークで処理します。

アプリケーション固有のイベントが発生すると、作成したコードがフレームワークから呼び出されます。たとえば、ユーザーがメニュー コマンドを選択すると、フレームワークは、このコマンドを C++ のオブジェクトの順序 (現在のビューやフレーム ウィンドウ、ビューに関連付けられているドキュメント、ドキュメントのドキュメント テンプレート、アプリケーション オブジェクトの順) に従って振り分けます。これらのオブジェクトの 1 つがコマンドを処理できるときは、該当するメッセージ ハンドラ関数を呼び出して、コマンドを処理します。コマンドに応じて、作成したコードまたはフレームワークのコードが呼び出されます。

このしくみは、Windows の従来のプログラミングやイベント ドリブン プログラミングに精通しているプログラマでしたらなじみやすいといえます。

次に、アプリケーションを初期化し実行するときのフレームワークによる処理、およびアプリケーション終了時のフレームワークによる後処理について説明します。作成するコードの記述位置も示します。

詳細については、「CWinApp : アプリケーション クラス」および「ドキュメント テンプレートとドキュメント/ビューの作成手順」を参照してください。

参照

概念

フレームワークを使ったアプリケーションの作成