]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/combo.cpp
Fixed wxPropertyGridManager::CreatePropertyGrid(), corrected documentation about...
[wxWidgets.git] / src / msw / combo.cpp
index 235fd668faf5739a43504f6fd523baa9a11081ea..a37257ae652f5ee4de9498cd2035c9bfb01aace4 100644 (file)
@@ -41,6 +41,7 @@
 #if wxUSE_UXTHEME
 #include "wx/msw/uxtheme.h"
 #endif
+#include "wx/msw/dc.h"
 
 // Change to #if 1 to include tmschema.h for easier testing of theme
 // parameters.
@@ -308,7 +309,7 @@ static void wxMSWDrawFocusRect( wxDC& dc, const wxRect& rect )
     //   it employs wxCAP_BUTT hack to have line of width 1.
     dc.SetLogicalFunction(wxINVERT);
 
-    wxPen pen(*wxBLACK,1,wxDOT);
+    wxPen pen(*wxBLACK, 1, wxPENSTYLE_DOT);
     pen.SetCap(wxCAP_BUTT);
     dc.SetPen(pen);
     dc.SetBrush(*wxTRANSPARENT_BRUSH);
@@ -397,7 +398,7 @@ wxComboCtrl::PrepareBackground( wxDC& dc, const wxRect& rect, int flags ) const
     selRect.x += wcp + focusSpacingX;
     selRect.width -= wcp + (focusSpacingX*2);
 
-    //wxUxThemeEngine* theme = (wxUxThemeEngine*) NULL;
+    //wxUxThemeEngine* theme = NULL;
     //if ( hTheme )
     //    theme = wxUxThemeEngine::GetIfActive();
 
@@ -474,19 +475,21 @@ void wxComboCtrl::OnPaintEvent( wxPaintEvent& WXUNUSED(event) )
 
     const wxRect& rectButton = m_btnArea;
     wxRect rectTextField = m_tcArea;
-    const bool isEnabled = IsEnabled();
     wxColour bgCol = GetBackgroundColour();
 
-    HDC hDc = GetHdcOf(dc);
+#if wxUSE_UXTHEME
+    const bool isEnabled = IsEnabled();
+
+    wxMSWDCImpl *impl = (wxMSWDCImpl*) dc.GetImpl();
+    HDC hDc = GetHdcOf(*impl);
     HWND hWnd = GetHwndOf(this);
 
-#if wxUSE_UXTHEME
     wxUxThemeEngine* theme = NULL;
     wxUxThemeHandle hTheme(this, L"COMBOBOX");
 
     if ( hTheme )
         theme = wxUxThemeEngine::GetIfActive();
-#endif
+#endif // wxUSE_UXTHEME
 
     wxRect borderRect(0,0,sz.x,sz.y);
 
@@ -760,7 +763,7 @@ static wxUint32 GetUserPreferencesMask()
 #endif
 
 #if wxUSE_COMBOCTRL_POPUP_ANIMATION
-void wxComboCtrl::OnTimerEvent( wxTimerEvent& WXUNUSED(event) )
+void wxComboCtrl::DoTimerEvent()
 {
     bool stopTimer = false;
 
@@ -828,7 +831,7 @@ bool wxComboCtrl::AnimateShow( const wxRect& rect, int flags )
         m_animTimer.SetOwner( this, wxID_ANY );
         m_animTimer.Start( COMBOBOX_ANIMATION_RESOLUTION, wxTIMER_CONTINUOUS );
 
-        OnTimerEvent(*((wxTimerEvent*)NULL));  // Event is never used, so we can give NULL
+        DoTimerEvent();
 
         return false;
     }