I'm using the tutorial from www.gametutorials.com to make a simple game, i started off just a plain window with a black background but when i compile it and run it, the window doesn't show up and after a while, i ended up copying almost the entire thing from the tutorial but the window still wouldn't show up. I'm new to win32 so the mistake is probably obvious.
Code:
HWND CreateMainWindow(HINSTANCE hInstance)
{
HWND hWnd = NULL;
WNDCLASS wc;
memset(&wc, 0, sizeof(WNDCLASS));
wc.hInstance = hInstance;
wc.lpszClassName = "Game";
wc.lpfnWndProc = WinProc;
wc.style = CS_HREDRAW | CS_VREDRAW;
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wc.lpszMenuName = NULL;
wc.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);
RegisterClass(&wc);
hWnd = CreateWindow("Game",
"Game",
WS_OVERLAPPEDWINDOW | WS_CLIPSIBLINGS | WS_CLIPCHILDREN,
CW_USEDEFAULT,
CW_USEDEFAULT,
600,
600,
NULL,
NULL,
hInstance,
NULL);
g_hInstance = hInstance;
ShowWindow(hWnd, SW_SHOWNORMAL);
UpdateWindow(hWnd);
return hWnd;
}
Code:
int WINAPI WinMain (HINSTANCE hThisInstance,
HINSTANCE hPrevInstance,
LPSTR lpszargv,
int ishow)
{
HWND hWnd = CreateMainWindow(hThisInstance);
if (hWnd == NULL) return false;
init(hWnd);
return (int)MainLoop();
}
every function here have been declared and defined
Also, if anyone has that tutorial, does MainLoop return a WPARAM? the return value isnt used anywhere so why not void?