次の方法で共有


MFC プログラムまたはコントロールのソース ファイルとヘッダー ファイル

更新 : 2007 年 11 月

Visual Studio で MFC プロジェクトを作成すると、以下のファイルが作成されます。作成されるファイルは、プロジェクトに対して指定したオプションによって異なります。たとえば、プロジェクトに Projnamedlg.cpp ファイルと Projnamedlg.h ファイルが作成されるのは、ダイアログ ベースのプロジェクトやクラスを作成した場合だけです。

これらのファイルはすべて、Projname ディレクトリ、およびソリューション エクスプローラの [ヘッダー ファイル] (.h ファイルの場合) フォルダか [ソース ファイル] (.cpp ファイルの場合) フォルダにあります。

ファイル名

説明

Projname.h

プログラムまたは DLL の主要なインクルード ファイル。すべてのグローバル シンボルとほかのヘッダー ファイルの #include ディレクティブが記述されています。CWinApp クラスから CPrjnameApp クラスを派生し、InitInstance メンバ関数を宣言します。コントロールの場合、CPrjnameApp クラスは COleControlModule から派生します。

Projname.cpp

プログラムの主要なソース ファイル。CWinApp の派生クラスである CPrjnameApp クラスのオブジェクトが 1 つ生成され、メンバ関数 InitInstance がオーバーライドされます。

実行可能ファイルの場合、CPrjnameApp::InitInstance はいくつかの処理を行います。この関数は、ドキュメント テンプレートを登録してドキュメントとビューを結合し、主要なフレーム ウィンドウを作成し、空のドキュメントを作成します。アプリケーションのコマンド ライン引数でドキュメントが指定されている場合は、そのドキュメントを開きます。

DLL と ActiveX (以前の OLE) コントロールの場合、CProjNameApp::InitInstance は、COleObjectFactory::RegisterAll を呼び出してコントロールのオブジェクト ファクトリを OLE に登録し、AfxOLEInit を呼び出します。また、メンバ関数 CProjNameApp::ExitInstance を使用して AfxOleTerm を呼び出し、コントロールをメモリからアンロードします。

また、このファイルは DllRegisterServer 関数と DllUnregisterServer 関数を実装して、Windows NT レジストリ情報のコントロールの登録と登録解除を行います。

Projnamectrl.h、Projnamectrl.cpp

CProjnameCtrl クラスを宣言して実装するファイル。CProjnameCtrl は COleControl の派生クラスであり、コントロールの初期化、描画、およびシリアル化 (読み込みと保存) を行うスケルトン メンバ関数の実装が定義されています。メッセージ、イベント、およびディスパッチ マップも定義されています。

Projnamedlg.cpp、Projnamedlg.h

ダイアログ ベースのアプリケーションを選択した場合に作成されるファイル。これらのファイルは、ダイアログ クラスである CProjnameDlg を派生して実装します。また、ダイアログを初期化し、ダイアログ データ エクスチェンジ (DDX: Dialog Data Exchange) を実行するスケルトン メンバ関数も含まれます。[バージョン情報] ダイアログ クラスも、Projname.cpp ではなく、これらのファイルに記述されています。

Dlgproxy.cpp、Dlgproxy.h

ダイアログ ベースのプログラムでは、主要なダイアログに対するプロジェクトのオートメーション プロキシ クラスの実装ファイルおよびヘッダー ファイル。オートメーションのサポートを選択した場合にだけ使用されます。

Projnamedoc.cpp、Projnamedoc.h

ドキュメント クラスである CProjnameDoc を派生して実装するファイル。このファイルには、ドキュメントの初期化およびシリアル化 (保存と読み込み) を行い、デバッグ時の診断プログラムを実装するスケルトン メンバ関数が含まれます。

Projnameset.h、Projnameset.cpp

データベースをサポートし、レコードセット クラスを含むプログラムを作成する場合に生成されるファイル。

Projnameview.cpp、Projnameview.h

ビュー クラスである CProjnameView を派生して実装するファイル。ビュー クラスは、ドキュメント データの表示や印刷に使用されます。CProjnameView クラスは、以下のいずれかの MFC クラスから派生します。

プロジェクトのビュー クラスには、ビューの描画やデバッグ時の診断プログラムを実装するスケルトン メンバ関数があります。印刷のサポートを有効にすると、印刷、印刷設定、印刷プレビューの各コマンド メッセージに対するメッセージ マップ エントリが追加されます。これらのエントリは、基本ビュー クラスの対応するメンバ関数を呼び出します。

ProjnamePropPage.h、ProjnamePropPage.cpp

CProjnamePropPage クラスを宣言して実装するファイル。CProjnamePropPage は、COlePropertyPage クラスの派生クラスです。このクラスには、データ交換と正当性チェックを実装するためのスケルトン メンバ関数 DoDataExchange があります。

IPframe.cpp、IPframe.h

アプリケーション ウィザードの [複合ドキュメント サポート] ページで [ミニ サーバー] か [フル サーバー] を選択した場合に作成されるファイル。これらのファイルは、埋め込み先フレーム ウィンドウ クラスである CInPlaceFrame を派生して実装します。このクラスは、サーバーを埋め込み先でアクティブにするときにコンテナ プログラムで使用されます。

Mainfrm.cpp、Mainfrm.h

CFrameWnd (SDI アプリケーションの場合) または CMDIFrameWnd (MDI アプリケーションの場合) から CMainFrame クラスを派生するファイル。アプリケーション ウィザードの [アプリケーション オプション] ページ (手順 4/6) で該当するオプションを選択した場合、CMainFrame クラスは、ツール バー ボタンとステータス バーを生成します。CMainFrame の使用方法については、「アプリケーション ウィザードで作成されるフレーム ウィンドウ クラス」を参照してください。

Childfrm.cpp、Childfrm.h

CMDIChildWnd から CChildFrame クラスを派生するファイル。CChildFrame クラスは、MDI ドキュメント フレーム ウィンドウで使用します。これらのファイルは、MDI オプションを選択すると必ず作成されます。

参照

概念

Visual C++ プロジェクトに対して作成されるファイルの種類

参照

ATL プログラムまたはコントロールのソース ファイルとヘッダー ファイル

CLR プロジェクト用に作成されるファイル