GetDC(NULL) wird als primärer monitor oder virtueller Bildschirm?

Suche im Netz sehe ich, dass die meisten Leute denken, dass GetDC(NULL) erhalten Sie einen Gerätekontext für den gesamten primäre monitor (mit 0,0 seiner oben Links). Allerdings bekomme ich das Gefühl, die meisten Menschen sind einfach nur zu sagen, dass, weil das ist, was auf der msdn-Seite für GetDC könnte sagen.

Jedoch, wenn man sich die folgenden zwei Seiten (zumindest diese beiden) scheinen zu sagen, dass GetDC(NULL) gibt einen Gerätekontext für den gesamten virtuellen Bildschirm (der, umfasst jeder monitor an das system angeschlossen ist).

(1) https://www.microsoft.com/msj/0697/monitor/monitor.aspx
-> suchen Sie die Seite, "Das wird das RECT des virtuellen desktop" und Blick auf die bits um diese Aussage (vor allem die GetDC(NULL) oben drauf).

(2) http://msdn.microsoft.com/en-gb/library/windows/desktop/dd162610%28v=vs.85%29.aspx
-> Suche die Seite für "GetDC(NULL)"

Ich habe versucht, herauszufinden, was es wirklich ist, aber die Vielzahl von widersprüchlichen Meinungen, die mich besiegt.

Hat jemand eine echte Erfahrung damit, und kann es testen auf einem multimonitoring-system? (Ich habe nur einen monitor, so kann ich nicht.)

Kann man eine DC, die über den gesamten primären monitor ODER mit einem DC über den gesamten virtuellen Bildschirm?

Bearbeiten

Für alle, die es ausprobieren, auf meinem system, wenn ich erstellen Sie eine Standard-Projekt, und legen Sie die folgenden in WinMain es stellt sich der Bildschirm schwarz. Wenn Sie mehrere Monitore haben und Sie es versuchen, die Frage wird, macht es wiederum nur Ihrem primären monitor schwarz ODER alle Ihre Monitore?

HDC hdc = GetDC(NULL);
RECT r = {LONG_MIN, LONG_MIN, LONG_MAX, LONG_MAX};
FillRect(hdc, &r, (HBRUSH)(COLOR_BTNTEXT + 1));
ReleaseDC(NULL, hdc);
  • es deckt die gesamte Arbeits-desktop (virtual screen)
InformationsquelleAutor user2044467 | 2013-02-05
Schreibe einen Kommentar