#endif
#include "wx/sysopt.h"
+#include "wx/dcclient.h"
#include "wx/msw/private.h"
::SendMessage(GetHwnd(), TB_SETEXTENDEDSTYLE, 0, TBSTYLE_EX_DRAWDDARROWS);
#endif
- // Fix a bug on e.g. the Silver theme on WinXP where control backgrounds
- // are incorrectly drawn, by forcing the background to a specific colour.
- int majorVersion, minorVersion;
- wxGetOsVersion(& majorVersion, & minorVersion);
- if (majorVersion < 6)
- SetBackgroundColour(GetBackgroundColour());
-
return true;
}
void wxToolBar::OnEraseBackground(wxEraseEvent& event)
{
RECT rect = wxGetClientRect(GetHwnd());
- HDC hdc = GetHdcOf((*event.GetDC()));
+
+ wxDC *dc = event.GetDC();
+ if (!dc) return;
+ wxMSWDCImpl *impl = (wxMSWDCImpl*) dc->GetImpl();
+ HDC hdc = GetHdcOf(*impl);
int majorVersion, minorVersion;
wxGetOsVersion(& majorVersion, & minorVersion);
r.right = clientSize.x;
r.top = 0;
r.bottom = clientSize.y;
-
- HRESULT hr = theme->DrawThemeBackground(hTheme, (HDC) dc.GetHDC(), 0, 0, & r, & clipRect);
+
+ wxMSWDCImpl *impl = (wxMSWDCImpl*) dc.GetImpl();
+ HRESULT hr = theme->DrawThemeBackground(hTheme, GetHdcOf(*impl), 0, 0, & r, & clipRect);
if ( hr == S_OK )
haveRefreshed = true;
}