次の方法で共有


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

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

CWinApp は、アプリケーションの実行のメイン スレッドを表す CWinThreadから派生します。これは、1 つ以上のスレッドが含まれている可能性があります。 MFC の最近のバージョンでは、 InitInstance実行ExitInstance、および OnIdle メンバー関数は、実際にはクラス CWinThread内にあります。 これらの関数は、代わりにメンバー CWinApp されているかのようにここで説明します。これは、プライマリ スレッドではなく、アプリケーション オブジェクトとしてのオブジェクトの役割に関するものであるためです。

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

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

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

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

こちらも参照ください

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