// Create a DC representing the whole screen
 wxScreenDC::wxScreenDC()
 {
-    // TODO
-}
-
-wxScreenDC::~wxScreenDC()
+    m_hDC = ::WinOpenWindowDC(HWND_DESKTOP);
+    m_hPS = ::WinGetScreenPS(HWND_DESKTOP);
+    ::GpiSetBackMix(m_hPS, BM_LEAVEALONE);
+} // end of wxScreenDC::wxScreenDC()
+
+void wxScreenDC::DoGetSize(
+  int*                              pnWidth
+, int*                              pnHeight
+) const
 {
-    // TODO
-}
+    //
+    // Skip wxWindowDC version because it doesn't work without a valid m_canvas
+    // (which we don't have)
+    //
+    wxDC::DoGetSize( pnWidth
+                    ,pnHeight
+                   );
+} // end of wxScreenDC::DoGetSize