次の方法で共有


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

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

CWinApp は、CWinThread の派生クラスであり、アプリケーションのメイン スレッドを表します。実行するスレッドが複数の場合もあります。 MFC の最近のバージョンでは、InitInstanceRunExitInstanceOnIdle の各メンバー関数は実際には CWinThread クラスに含まれています。 しかし、ここでは CWinApp のメンバーであるものとして説明します。ここでは、プライマリ スレッドではなくアプリケーション オブジェクトとしてのオブジェクトの役割について説明するからです。

注意

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

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

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

注意

太字の名前は、MFC ライブラリと Visual C++ で提供される要素です。 プログラマが作成またはオーバーライドする要素は、固定幅 (monospaced) の書体で示されています。

参照

概念

MFC の一般的なトピック

CWinApp および MFC アプリケーション ウィザード

オーバーライド可能な CWinApp のメンバー関数

CWinApp のその他のサービス