読者です 読者をやめる 読者になる 読者になる

Aoi #2 アプリケーションクラス(CApplicationの追加)

前回、ウィンドウクラスCWindowを実装したので、今度はアプリケーションクラスCApplicationを実装する・・・。

Application.hを追加し、

CWindowオブジェクトのポインタm_pMainWindowにメインウィンドウオブジェクトポインタを格納しておく・・・。
あとは、初期化のInitInstance、メッセージループのRun、終了処理のExitInstance・・・。
普通のアプリにアイドル処理はないのでOnIdleはいらないかな・・・。

InitInstanceに、ウィンドウクラスの登録から、作成、表示までを持ってきた・・・。

Runには、メッセージループを・・・。
ループを抜けたら、終了処理ExitInstanceを呼び出す・・・。

ExitInstanceでは、メインウィンドウm_pMainWindowがあったら、解放するという処理をしている・・・。

これでWinMain.cppは、

CApplicationオブジェクトpApplicationを作成したら、InitInstanceでウィンドウ作成・表示・・・。
失敗したら、ExitInstanceして、pApplicationを解放して終わり・・・。
そうでなければ、Runでメッセージループ終了まで待つ・・・。
Runの中の最後にExitInstanceがあるので、Runから抜けたら、pApplication解放だけでいい・・・。

f:id:BG1:20160627183757p:plain

変化なし・・・。

https://github.com/bg1bgst333/Aoi/tree/develop/winapi/win32_blank/vs14/src/Aoi