Create

前回のTestでは、OnCreate/OnDestroyを実装したので、今回はウィンドウ作成関数Createを実装する・・・。

作成時のウィンドウハンドルは、g_hWndに格納するので、戻り値は成功/失敗のBOOLでいい・・・。
今回は実装しないが、ウィンドウオブジェクトの雛形となるC++のウィンドウクラスを作り、それごとにWNDCLASSをもつとすると、ウィンドウクラス名を指定する部分は不要になる・・・。
なので、引数はウィンドウ名、ウィンドウ位置・サイズ、アプリケーションインスタンスハンドルの3つだけ・・・。

Createの定義は、

CreateWindowには、ウィンドウ名(lpctszWindowName)、ウィンドウ位置・サイズ(rect)、アプリケーションインスタンスハンドル(hInstance)の3つは引数を指定し、あとは固定値を指定する・・・。
まあ、普通のオーバーラップウィンドウのスタイル・・・。
で失敗ならFALSEだし、成功ならTRUEでg_hWndにハンドルを格納・・・。

これをInitInstanceで、

このように呼ぶ・・・。

f:id:BG1:20150508124556p:plain

このように、引数が3つと非常に少ないCreateを実装できた・・・。

https://github.com/bg1bgst333/Test/blob/master/winapi/Create/Create/src/Create/Create/WinMain.cpp