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

Aoi #2 ウィンドウクラス化 & アプリケーションクラス化

WinMain.cppだけのウィンドウ表示から、ウィンドウクラスとアプリケーションクラスによるウィンドウ表示に書き換える・・・。

まず、Window.hは、

今回、ウィンドウの位置とサイズのメンバを追加・・・。
あと、一応コンストラクタも追加・・・。
あとは、ウィンドウクラス登録、スタティックウィンドウプロシージャ、ウィンドウ作成、ウィンドウ表示・・・。

Window.cppは、

コンストラクタで初期化、デストラクタで場合によってはメモリとかウィンドウハンドルの解放とか・・・。

ウィンドウクラス登録・・・。

ウィンドウプロシージャStaticWindowProcでWM_CREATE、WM_DESTROYの処理をする・・・。

こんな風に位置とサイズをメンバにセットした上でCreateWindow・・・。

Application.hは、

こちらも一応、コンストラクタとデストラクタを追加・・・。

Application.cppは、

デストラクタは一応、解放処理も入れている・・・。

InitInstanceでは、CWindow::RegisterClassで独自のウィンドウクラス"Window"を登録・・・。

で、m_pMainWindow->Createでウィンドウ作成、m_pMainWindow->ShowWindowでウィンドウ表示・・・。

メッセージループRun・・・。

ExitInstanceで終了処理・・・。

WinMain.cppは、

CApplicationオブジェクトを作成し、InitInstanceに失敗したら、エラーメッセージとExitInstance・・・。
成功ならRunでメッセージループ処理・・・。
Runの中でループ処理の終了時にExitInstanceはするので、deleteだけでいい・・・。

f:id:BG1:20170112004502p:plain

表示は特に変わらない・・・。

・ウィンドウクラス化 · bg1bgst333/Aoi@30bb06f · GitHub