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

CWindow::RegisterClass

MFCでウィンドウクラスを登録するには、AfxRegisterClassを使うが、ウィンドウに関することだし、設定項目の煩わしさを解消するために、CWindowクラスのスタティックメンバ関数としてRegisterClassを定義する・・・。

Window.hに、

とRegisterClassを追加・・・。
引数はhInstanceだけでいい・・・。

Window.cppには、

と定義・・・。
CWindowクラスが作るウィンドウは基本的なウィンドウなので、hInstance以外は全部固定でいい・・・。
ウィンドウプロシージャにはWindowProcを使っている・・・。
ウィンドウクラス名"RegisterClass"がCApplication::InitInstanceとCWindow::RegisterClassでまたがっているけど、これはCWindowがある程度完成したら直す予定・・・。とりあえずは固定・・・。

こういう風にまとめることでInitInstanceは、

だいぶ短くなった・・・。

f:id:BG1:20150515120226p:plain

見た目は変わらないけど、中身は徐々に整理されてきている・・・。

https://github.com/bg1bgst333/Test/blob/master/winapi/CWindow/RegisterClass/src/RegisterClass/RegisterClass/WinMain.cpp
https://github.com/bg1bgst333/Test/blob/master/winapi/CWindow/RegisterClass/src/RegisterClass/RegisterClass/Application.h
https://github.com/bg1bgst333/Test/blob/master/winapi/CWindow/RegisterClass/src/RegisterClass/RegisterClass/Application.cpp
https://github.com/bg1bgst333/Test/blob/master/winapi/CWindow/RegisterClass/src/RegisterClass/RegisterClass/Window.h
https://github.com/bg1bgst333/Test/blob/master/winapi/CWindow/RegisterClass/src/RegisterClass/RegisterClass/Window.cpp