CWinApp : アプリケーション クラス
MFC のメイン アプリケーション クラスは、Windows オペレーティング システムのアプリケーションの初期化、実行、終了をカプセル化します。 フレームワーク上に構築されたアプリケーションには、CWinApp から派生したクラスのオブジェクトが 1 つのみである必要があります。 このオブジェクトは、ウィンドウが作成される前に作成されます。
CWinApp
は CWinThread
から派生します。これは、1 つ以上のスレッドを持つ可能性がある、アプリケーションの実行のメイン スレッドを表します。 最近のバージョンの MFC では、InitInstance
、Run、ExitInstance
、および OnIdle
メンバー関数は、実際には CWinThread
クラスに含まれています。 ここでは、これらの関数は CWinApp
メンバーであると想定して説明します。ディスカッションでは、プライマリ スレッドとしてではなく、アプリケーション オブジェクトとしてのオブジェクトの役割が関係するからです。
Note
アプリケーション クラスは、アプリケーションの主要な実行スレッドを構成します。 Win32 API 関数を使用して、実行のセカンダリ スレッドを作成することもできます。 これらのスレッドでは、MFC ライブラリを使用できます。 詳細については、「マルチスレッド」を参照してください。
Windows オペレーティング システムの他のプログラムと同様に、フレームワーク アプリケーションには WinMain
関数があります。 ただし、フレームワーク アプリケーションでは、WinMain
を記述しません。 これはクラス ライブラリによって提供され、アプリケーションの起動時に呼び出されます。 WinMain
は、ウィンドウ クラスの登録などの標準サービスを実行します。 次に、アプリケーション オブジェクトのメンバー関数を呼び出して、アプリケーションを初期化して実行します (WinMain
が呼び出す CWinApp
メンバー関数をオーバーライドすることで、WinMain
をカスタマイズできます)。
アプリケーションを初期化するために、WinMain
はアプリケーション オブジェクトの InitApplication
および InitInstance
メンバー関数を呼び出します。 アプリケーションのメッセージ ループを実行するために、WinMain
は Run メンバー関数を呼び出します。 終了時に、WinMain
は アプリケーション オブジェクトの ExitInstance
メンバー関数を呼び出します。
Note
このドキュメントで太字で表示されている名前は、Microsoft Foundation Class ライブラリと Visual C++ で提供される要素を示します。 monospaced
型で表示される名前は、作成またはオーバーライドする要素を示します。
関連項目
MFC の一般的なトピック
CWinApp および MFC アプリケーション ウィザード
オーバーライド可能な CWinApp のメンバー関数
CWinApp のその他のサービス