if ( !MSWCreateControl(WC_TREEVIEW, wstyle, pos, size) )
return false;
- // this significantly reduces flicker when refreshing the control, for some
- // reason the native control itself doesn't avoid background repainting
- SetBackgroundStyle(wxBG_STYLE_CUSTOM);
-
#if wxUSE_COMCTL32_SAFELY
wxWindow::SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW));
wxWindow::SetForegroundColour(wxWindow::GetParent()->GetForegroundColour());
void wxWindowMSW::OnEraseBackground(wxEraseEvent& event)
{
- if ( GetBackgroundStyle() == wxBG_STYLE_CUSTOM )
- {
- // don't skip the event here, custom background means that the app
- // is drawing it itself in its OnPaint(), so don't draw it at all
- // now to avoid flicker
- return;
- }
-
// standard non top level controls (i.e. except the dialogs) always erase
// their background themselves in HandleCtlColor() or have some control-
// specific ways to set the colours (common controls)
return;
}
+ if ( GetBackgroundStyle() == wxBG_STYLE_CUSTOM )
+ {
+ // don't skip the event here, custom background means that the app
+ // is drawing it itself in its OnPaint(), so don't draw it at all
+ // now to avoid flicker
+ return;
+ }
+
wxDC *dc = event.GetDC();
if (!dc) return;
wxMSWDCImpl *impl = (wxMSWDCImpl*) dc->GetImpl();