前回のTestでは、OnCreate/OnDestroyを実装したので、今回はウィンドウ作成関数Createを実装する・・・。
作成時のウィンドウハンドルは、g_hWndに格納するので、戻り値は成功/失敗のBOOLでいい・・・。
今回は実装しないが、ウィンドウオブジェクトの雛形となるC++のウィンドウクラスを作り、それごとにWNDCLASSをもつとすると、ウィンドウクラス名を指定する部分は不要になる・・・。
なので、引数はウィンドウ名、ウィンドウ位置・サイズ、アプリケーションインスタンスハンドルの3つだけ・・・。
Createの定義は、
CreateWindowには、ウィンドウ名(lpctszWindowName)、ウィンドウ位置・サイズ(rect)、アプリケーションインスタンスハンドル(hInstance)の3つは引数を指定し、あとは固定値を指定する・・・。
まあ、普通のオーバーラップウィンドウのスタイル・・・。
で失敗ならFALSEだし、成功ならTRUEでg_hWndにハンドルを格納・・・。
これをInitInstanceで、
このように呼ぶ・・・。
このように、引数が3つと非常に少ないCreateを実装できた・・・。
https://github.com/bg1bgst333/Test/blob/master/winapi/Create/Create/src/Create/Create/WinMain.cpp