Looking around the net I see that most people think that GetDC(NULL) will get a device context for the entire primary monitor (the one with 0,0 at its top left). Ho
It gets a DC that covers the entire virtual screen. I just tested with:
#include
#include
int main() {
HDC screen = GetDC(NULL);
RECT r = {-1200, 100, -200, 500};
HBRUSH br = CreateSolidBrush(RGB(0, 255, 0));
FillRect(screen, &r, br);
getch();
InvalidateRect(NULL, &r, true);
return 0;
}
...and it successfully draws a green rectangle on my secondary screen (positioned to the left of the primary screen so it has negative X coordinates).