LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch(uMsg) { case WM_KEYDOWN: switch(wParam) { case VK_ESCAPE: PostQuitMessage(0); break; default: break; } break; case WM_DESTROY: case WM_CLOSE: PostQuitMessage(0); break; case WM_SIZE: window.Resize(LOWORD(lParam), HIWORD(lParam)); break; } return DefWindowProc(hWnd, uMsg, wParam, lParam); }