]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/dcscreen.cpp
Added a constructor that allows creation of independent wxControl
[wxWidgets.git] / src / msw / dcscreen.cpp
index 71d61dd7d9aa1b3f9e0d390f07116806014a55a1..511c3b25bcef7ae9ae8cd09abd454a36e0030f48 100644 (file)
 #endif
 
 #ifndef WX_PRECOMP
 #endif
 
 #ifndef WX_PRECOMP
+   #include "wx/string.h"
+   #include "wx/window.h"
 #endif
 
 #endif
 
+#include "wx/msw/private.h"
+
 #include "wx/dcscreen.h"
 
 #include "wx/dcscreen.h"
 
-#include <windows.h>
 
 
-#if !USE_SHARED_LIBRARY
 IMPLEMENT_DYNAMIC_CLASS(wxScreenDC, wxWindowDC)
 IMPLEMENT_DYNAMIC_CLASS(wxScreenDC, wxWindowDC)
-#endif
 
 // Create a DC representing the whole screen
 wxScreenDC::wxScreenDC(void)
 {
 
 // Create a DC representing the whole screen
 wxScreenDC::wxScreenDC(void)
 {
-  m_hDC = (WXHDC) ::GetDC(NULL);
+  m_hDC = (WXHDC) ::GetDC((HWND) NULL);
   m_hDCCount ++;
   m_hDCCount ++;
+
+  // the background mode is only used for text background
+  // and is set in DrawText() to OPAQUE as required, other-
+  // wise always TRANSPARENT, RR
+  ::SetBkMode( GetHdc(), TRANSPARENT );
 }
 
 wxScreenDC::~wxScreenDC(void)
 {
   SelectOldObjects(m_hDC);
 }
 
 wxScreenDC::~wxScreenDC(void)
 {
   SelectOldObjects(m_hDC);
-  ::ReleaseDC(NULL, (HDC) m_hDC);
+  ::ReleaseDC((HWND) NULL, (HDC) m_hDC);
   m_hDC = 0;
   m_hDCCount --;
 }
   m_hDC = 0;
   m_hDCCount --;
 }