WinMain.cppで
CreateWindowにWS_VISIBLEをつけるとShowWindowがいらなくなるし、

while(GetMessage(&msg, 0, 0, 0) > 0)
{
  TranslateMessage(&msg);
  DispatchMessage(&msg);
}
のようにした方がいい気がする。

関係ないけど自分がコーティングするときと比べると
だいぶ横幅が結構狭いですね。
ディスプレイの解像度はどのくらいでしょうか?