Pintar en un controlador de dominio que abarca varias pantallas
Para responder a un mensaje de WM_PAINT , use código como el siguiente.
case WM_PAINT:
hdc = BeginPaint(hwnd, &ps);
EnumDisplayMonitors(hdc, NULL, MyPaintEnumProc, 0);
EndPaint(hwnd, &ps);
Para pintar la mitad superior de una ventana, use código como el siguiente.
GetClientRect(hwnd, &rc);
rc.bottom = (rc.bottom - rc.top) / 2;
hdc = GetDC(hwnd);
EnumDisplayMonitors(hdc, &rc, MyPaintEnumProc, 0);
ReleaseDC(hwnd, hdc);
Para pintar la pantalla virtual completa de forma óptima para cada monitor, use código como el siguiente.
hdc = GetDC(NULL);
EnumDisplayMonitors(hdc, NULL, MyPaintScreenEnumProc, 0);
ReleaseDC(NULL, hdc);