undo r58380 as it breaks tree control background repainting (see #9832)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58412 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -734,10 +734,6 @@ bool wxTreeCtrl::Create(wxWindow *parent,
|
|||||||
if ( !MSWCreateControl(WC_TREEVIEW, wstyle, pos, size) )
|
if ( !MSWCreateControl(WC_TREEVIEW, wstyle, pos, size) )
|
||||||
return false;
|
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
|
#if wxUSE_COMCTL32_SAFELY
|
||||||
wxWindow::SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW));
|
wxWindow::SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW));
|
||||||
wxWindow::SetForegroundColour(wxWindow::GetParent()->GetForegroundColour());
|
wxWindow::SetForegroundColour(wxWindow::GetParent()->GetForegroundColour());
|
||||||
|
@@ -4722,14 +4722,6 @@ bool wxWindowMSW::HandleEraseBkgnd(WXHDC hdc)
|
|||||||
|
|
||||||
void wxWindowMSW::OnEraseBackground(wxEraseEvent& event)
|
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
|
// standard non top level controls (i.e. except the dialogs) always erase
|
||||||
// their background themselves in HandleCtlColor() or have some control-
|
// their background themselves in HandleCtlColor() or have some control-
|
||||||
// specific ways to set the colours (common controls)
|
// specific ways to set the colours (common controls)
|
||||||
@@ -4739,6 +4731,14 @@ void wxWindowMSW::OnEraseBackground(wxEraseEvent& event)
|
|||||||
return;
|
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();
|
wxDC *dc = event.GetDC();
|
||||||
if (!dc) return;
|
if (!dc) return;
|
||||||
wxMSWDCImpl *impl = (wxMSWDCImpl*) dc->GetImpl();
|
wxMSWDCImpl *impl = (wxMSWDCImpl*) dc->GetImpl();
|
||||||
|
Reference in New Issue
Block a user