Peinture sur un contrôleur de périphérique qui s’étend sur plusieurs affichages
Pour répondre à un message de _ peinture WM , utilisez un code similaire à celui-ci.
case WM_PAINT:
hdc = BeginPaint(hwnd, &ps);
EnumDisplayMonitors(hdc, NULL, MyPaintEnumProc, 0);
EndPaint(hwnd, &ps);
Pour peindre la moitié supérieure d’une fenêtre, utilisez un code similaire à ce qui suit.
GetClient Rect(hwnd, &rc);
rc.bottom = (rc.bottom - rc.top) / 2;
hdc = GetDC(hwnd);
EnumDisplayMonitors(hdc, &rc, MyPaintEnumProc, 0);
ReleaseDC(hwnd, hdc);
Pour peindre l’intégralité de l’écran virtuel de façon optimale pour chaque moniteur, utilisez un code similaire à celui-ci.
hdc = GetDC(NULL);
EnumDisplayMonitors(hdc, NULL, MyPaintScreenEnumProc, 0);
ReleaseDC(NULL, hdc);