Jump to content
  • Advertisement

Archived

This topic is now archived and is closed to further replies.

trysil

Could someone take a look? (Win32)

This topic is 5980 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Could someone help me? I cant see what goes wrong. This is the main routine:
      
int WINAPI WinMain(	HINSTANCE	hInstance,
					HINSTANCE	hPrevInstance,
					LPSTR		lpCmdLine,
					int			nCmdShow)
	char* sz;
	teEngine* theEngine;

	if (!teGLWindow::registerWindowClass(hInstance))
	{
		MessageBox(NULL,"Could not register window class",0,0);
		return 0;
	}

	theEngine = new teEngine();
	try{
		theEngine->Init();
	}
	catch (char* sz)
	{
		MessageBox(NULL,sz,0,0);
		return 0;
	}

	theEngine -> MessageLoop();

	theEngine->Shutdown();
	return 0;
}
[ /source]

First I register the window class (declared static)

[source]      
bool teGLWindow::registerWindowClass(HINSTANCE hI)
{
//	HINSTANCE hI			= GetModuleHandle(NULL);				

	WNDCLASS wc;
	wc.style			= CS_HREDRAW | CS_VREDRAW | CS_OWNDC;	
	wc.lpfnWndProc		= WndProcGL;					        
	wc.cbClsExtra		= 0;									
	wc.cbWndExtra		= 0;									
	wc.hInstance		= hI;						
	wc.hIcon			= LoadIcon(NULL, IDI_WINLOGO);			
	wc.hCursor			= LoadCursor(NULL, IDC_ARROW);
	wc.hbrBackground	= NULL;
	wc.lpszMenuName		= NULL;
	wc.lpszClassName	= "OpenGL";

	if (!RegisterClass(&wc))
	{
		return false;
	}
	return true;
}
  
as this is done I initialize the engine class which calls the constructor for the GLWindow.
        
teGLWindow::teGLWindow(char* name, int width, int height, int b)
{      
	Screen.fullscreen = false;
	Screen.width = width;
	Screen.height = height;
	Screen.aspect = (float)Screen.width/Screen.height;
	Screen.nearClipping = 0.1f;
	Screen.farClipping = 1000.0f;
	Screen.angle = 45.0f;
	Screen.bits = b;

	RECT windowRect;
	DWORD dwStyle;
	DWORD dwExStyle;


	windowRect.left = (long)0;
	windowRect.right = (long)width;
	windowRect.top = (long)0;
	windowRect.bottom = (long)height;

	if (Screen.fullscreen)
	{
		dwExStyle = WS_EX_APPWINDOW;
		dwStyle = WS_POPUP;
	}
	else
	{
		dwExStyle = WS_EX_APPWINDOW | WS_EX_WINDOWEDGE;
		dwStyle = WS_OVERLAPPEDWINDOW;
	}

	AdjustWindowRectEx(&windowRect, dwStyle, FALSE, dwExStyle);
	
	if (Screen.fullscreen)
	{
		beginFullScreen(width, height, b);
		hWnd = CreateWindowEx(NULL, "Engine", name, dwStyle | WS_CLIPCHILDREN | WS_CLIPSIBLINGS,
						  0, 0, GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CYSCREEN),
						  NULL, NULL, (HINSTANCE)GetModuleHandle(NULL), (void*)this);
	}
	else
	{

		hWnd = CreateWindowEx(NULL, "Engine", name, dwStyle | WS_CLIPCHILDREN | WS_CLIPSIBLINGS,
						  0, 0, width, height, NULL, NULL, (HINSTANCE)GetModuleHandle(NULL),(void*)this);
	}

	if (hWnd == NULL) 
		throw "Creating OpenGL Window!";
		
	ShowWindow(hWnd, SW_SHOW);
	UpdateWindow(hWnd);

	SetForegroundWindow(hWnd);
	SetCapture(hWnd);
	SetFocus(hWnd);
	ShowCursor(FALSE);
}
  
this throws the "Creating OpenGL Window" error message. Someone "A witty and slightly sarcastic quote from an unkown source" -- The generic SIG /trysil Edited by - trysil on February 7, 2002 1:22:01 PM Edited by - trysil on February 7, 2002 1:27:13 PM

Share this post


Link to post
Share on other sites
Advertisement
you''re registering your window class with:

  
wc.lpszClassName = "OpenGL";


Then you''re calling CreateWindowEx with:

  
hWnd = CreateWindowEx(NULL, "Engine", name,...


"Engine" above should be "OpenGL".

Share this post


Link to post
Share on other sites

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!