Freigeben über


Zeichnen auf einem DC, das mehrere Displays umfasst

Wenn Sie auf eine WM_PAINT Nachricht antworten möchten, verwenden Sie Code wie die folgende.

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

Verwenden Sie Code wie die folgende, um die obere Hälfte eines Fensters zu zeichnen.

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

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

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