Verständnisproblem- Unterschied GetDC()<->GetWindowDC() - gelöst
-
Hallo,
ich habe gerade angefangen mich mit der GDI zu beschäftigen und eine Linie auf den Desktop zu zeichnen, nicht in ein eigenes Fenster.zuerst versuchte ich es mit:
//... HDC hdc=GetDC(GetDesktopWindow()); //...daraufhin passierte einfach gar nichts und die zu zeichnende Linie erschien auch nicht am Bildschirm.
dann versuchte ich es mit:
//... HDC hdc=GetWindowDC(GetDesktopWindow()); //...damit hat es einwandfrei funktioniert

die Frage ist nur warum? wo liegt der Unterschied zwischen GetDC() und GetWindowDC() und wann muss ich welche der 2 Funktionen benutzen?
danke schonmal,
andi01.
-
Folgendes funktioniert übrigens auch:
HDC hDesktopDC=GetDC(0);
-
toll, noch eine Möglichkeit mehr xD. jetzt gibt es schon 3 von denen ich weder den Unterschied weiß noch wann ich welche verwenden muss^^
kann mir bitte mal jemand die Unterschiede und Verwendungszwecke der 3 Möglichkeiten erklären?
danke,
andi01.
-
Im gegensatz zu GetDC, welches nur einen DC für den Clientbereich des Fensters liefert, liefert GetWindowDC einen DC für das gesamter Fenster (einschließlich Titelleiste und Rahmen).
-
ok, aber der desktop hat ja keine titelleiste und keinen rahmen. da müsste doch eigentlich beides gehen oder?
mfg,
andi01.
-
Da der Desktop eben eine besondere Form eines Fensters ist vermute ich, dass er einfach keinen Anwendungsbereich hat.
-
aso ok. damitis das problem gelöst

danke,
andi01.