次の方法で共有


CWinApp : アプリケーション クラス

MFC のメイン アプリケーション クラスは、Windows オペレーティング システムのアプリケーションの初期化、実行、終了をカプセル化します。 フレームワーク上に構築されたアプリケーションには、CWinApp から派生したクラスのオブジェクトが 1 つのみである必要があります。 このオブジェクトは、ウィンドウが作成される前に作成されます。

CWinAppCWinThread から派生します。これは、1 つ以上のスレッドを持つ可能性がある、アプリケーションの実行のメイン スレッドを表します。 最近のバージョンの MFC では、InitInstanceRunExitInstance、および OnIdle メンバー関数は、実際には CWinThread クラスに含まれています。 ここでは、これらの関数は CWinApp メンバーであると想定して説明します。ディスカッションでは、プライマリ スレッドとしてではなく、アプリケーション オブジェクトとしてのオブジェクトの役割が関係するからです。

Note

アプリケーション クラスは、アプリケーションの主要な実行スレッドを構成します。 Win32 API 関数を使用して、実行のセカンダリ スレッドを作成することもできます。 これらのスレッドでは、MFC ライブラリを使用できます。 詳細については、「マルチスレッド」を参照してください。

Windows オペレーティング システムの他のプログラムと同様に、フレームワーク アプリケーションには WinMain 関数があります。 ただし、フレームワーク アプリケーションでは、WinMain を記述しません。 これはクラス ライブラリによって提供され、アプリケーションの起動時に呼び出されます。 WinMain は、ウィンドウ クラスの登録などの標準サービスを実行します。 次に、アプリケーション オブジェクトのメンバー関数を呼び出して、アプリケーションを初期化して実行します (WinMain が呼び出す CWinApp メンバー関数をオーバーライドすることで、WinMain をカスタマイズできます)。

アプリケーションを初期化するために、WinMain はアプリケーション オブジェクトの InitApplication および InitInstance メンバー関数を呼び出します。 アプリケーションのメッセージ ループを実行するために、WinMainRun メンバー関数を呼び出します。 終了時に、WinMain は アプリケーション オブジェクトの ExitInstance メンバー関数を呼び出します。

Note

このドキュメントで太字で表示されている名前は、Microsoft Foundation Class ライブラリと Visual C++ で提供される要素を示します。 monospaced 型で表示される名前は、作成またはオーバーライドする要素を示します。

関連項目

MFC の一般的なトピック
CWinApp および MFC アプリケーション ウィザード
オーバーライド可能な CWinApp のメンバー関数
CWinApp のその他のサービス