Rendering to a 2nd monitor

I need to render opengl output to a 2nd monitor. I need control over the width and height of the monitor can’t rely on duplicating my primary display. I’ve read that the way to do this is to render to a frame buffer and then I guess send that out to the 2nd monitor. Can anyone direct me to some simple code to do this? Right now, I’m creating a window and linking that to a device context using code as follows:

hWnd = CreateWindowEx(	WS_EX_APPWINDOW,
			WNDCLASSNAME,
			TEXT("title"),
			WS_POPUP |
			WS_CLIPSIBLINGS |
			WS_CLIPCHILDREN,
			WINPOS_DELTA_X,
			WINPOS_DELTA_Y,
			WINDOW_WIDTH,
			WINDOW_HEIGHT,
			NULL,
			NULL,
			hInstance,
			NULL);


HDC hDC = GetDC(hWnd);

And then render to this device context directly with commands like this (to create a simple triangle)

glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
glBegin(GL_TRIANGLES);
glVertex3f(-1.0f, -0.5f, 1.0f);    
glVertex3f(1.0f, -0.5f, 1.0f);    
glVertex3f(0.0f, 0.5f, 1.0f);    
glEnd();
SwapBuffers(hDC);

This renders fine to my primary screen - but if I locate the window onto my secondary display it fails. I think the way to accomplish what I’m trying to do is to set up a framebuffer and render to that. I think I know how to get that part working. But how do I then take the frame buffer and tell OpenGL to display the framebuffer to my (off-primary-screen) display?