Freigeben über


Malen auf einem DC, der sich über mehrere Displays erstreckt

Verwenden Sie Code wie den folgenden, um auf eine WM_PAINT Nachricht zu antworten.

case WM_PAINT:
hdc = BeginPaint(hwnd, &ps);
EnumDisplayMonitors(hdc, NULL, MyPaintEnumProc, 0);
EndPaint(hwnd, &ps);
 

Um die obere Hälfte eines Fensters zu malen, verwenden Sie Code wie folgt.

GetClient Rect(hwnd, &rc);
rc.bottom = (rc.bottom - rc.top) / 2;
hdc = GetDC(hwnd);
EnumDisplayMonitors(hdc, &rc, MyPaintEnumProc, 0);
ReleaseDC(hwnd, hdc);

Verwenden Sie Code wie folgt, um den gesamten virtuellen Bildschirm für jeden Monitor optimal zu zeichnen.

hdc = GetDC(NULL);
EnumDisplayMonitors(hdc, NULL, MyPaintScreenEnumProc, 0);
ReleaseDC(NULL, hdc);