CWinApp

2018/12/20

CWinAppは、Windowsアプリケーションの基本クラス・・・。

CWinApp クラス

MFCアプリケーションでは、WinMainではなく、このクラスのオブジェクト生成からWindowsアプリケーションの動作が始まる・・・。
ただ、今回もMFCアプリケーションではなく、空のWin32プロジェクトで作る・・・。
(今回は[Win32 コンソール アプリケーション]ではなく、[Win32 プロジェクト]・・・。)
また、[スタティック ライブラリで MFC を使用する]にするのを忘れずに・・・。

CWinAppクラスの派生クラスであるCWinApp_クラスを作る・・・。
まず、CWinApp_.hを追加し、

MFCに必須なafxwin.hとTCHAR対応のtchar.hをインクルード・・・。

クラス定義は、

CWinAppをpublicで継承・・・。
メンバは、基底クラスCWinAppのメンバ関数InitInstanceをオーバーライドしてるだけ・・・。

そして、このクラスのオブジェクトを作らないと、プログラムは動作しないので、

とtheAppを宣言している・・・。

でオーバーライドしたInitInstanceの定義は、CWinApp_.cppを追加して、

CWinApp_.hをインクルード・・・。

そのあとに、

AfxMessageBoxで"CWinApp_"を表示して、TRUEを返して終了・・・。
これだけ・・・。

実行すると、theAppオブジェクトが生成される・・・。
そのあと、InitInstanceが呼ばれて、

f:id:BG1:20150416104944p:plain

"CWinApp_"とメッセージボックスが出る・・・。

Sample/CWinApp_.h at master · bg1bgst333/Sample · GitHub
Sample/CWinApp_.cpp at master · bg1bgst333/Sample · GitHub