Original Post
Hello all, I'm working on an application which will have multiple windows within which I will be drawing with OpenGL. I need to be able to drag these windows to any monitor in a multiple-monitor system, even if those monitors are connected to different video cards. My system has a GeForce 7800 GTX (PCI express) driving two monitors, (the primary and the right-hand monitor) and a GeForce FX5200 (PCI) driving the left-hand monitor. When I create an OpenGL window, I can drag it between the middle and right-hand monitors (the two monitors hooked to the primary card) with no problems. However, when I drag the window to the left-hand monitor (which is hooked to the secondary video card) then the window does not get updated. It just shows whatever was on the window at the time it was dragged across the boundary. If I leave the window halfway between the two monitors (overlapping) then the part that is still on the center monitor continues to update, but the part that is on the left-hand monitor just freezes as though the frame buffer is never swapped. Even if I drag the window fully onto the secondary monitor, it will never update, until I drag it back to one of the monitors connected to the primary card. I imagine this has something to do with device contexts and/or rendering contexts, but everything I have tried has yeilded no improvements, and sometimes just plain makes things worse. :) I assume that I need to detect the user's act of dragging the window to a side monitor (I can do this already with no problems) then somehow reset the OpenGL contexts and keep drawing, but everything I've tried towards that goal has been unsuccessful. I'm using Visual Studio .net, using C++, developing for Windows. I'm using Lesson #4 from NeHe as a simple test application. If I can get the window in that lesson to work on any of the three monitors, then I'll be able to replicate the "fix" in my actual application. Here's a URL to the lesson for reference: http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=04 Any pointers would be greatly appreciated. Thank you! -Ross