Corrceted background problem with themes.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@5254 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling 2000-01-05 15:02:28 +00:00
parent a5569657a0
commit 0f2f4986cb
3 changed files with 8 additions and 48 deletions

View File

@ -55,10 +55,8 @@ bool wxPanel::Create(wxWindow *parent, wxWindowID id,
if ( ret )
{
#ifndef __WXGTK__
SetBackgroundColour(wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DFACE));
SetFont(wxSystemSettings::GetSystemFont(wxSYS_DEFAULT_GUI_FONT));
#endif
}
return ret;

View File

@ -2891,7 +2891,8 @@ bool wxWindow::SetBackgroundColour( const wxColour &colour )
return TRUE;
}
if (m_wxwindow)
if ((m_wxwindow) &&
(m_backgroundColour != wxSystemSettings::GetSystemColour(wxSYS_COLOUR_BTNFACE)))
{
/* wxMSW doesn't clear the window here. I don't do that either to
provide compatibility. call Clear() to do the job. */
@ -2900,17 +2901,7 @@ bool wxWindow::SetBackgroundColour( const wxColour &colour )
gdk_window_set_background( window, m_backgroundColour.GetColor() );
}
wxColour sysbg = wxSystemSettings::GetSystemColour( wxSYS_COLOUR_BTNFACE );
if (sysbg == m_backgroundColour)
{
m_backgroundColour = wxNullColour;
ApplyWidgetStyle();
m_backgroundColour = sysbg;
}
else
{
ApplyWidgetStyle();
}
ApplyWidgetStyle();
return TRUE;
}
@ -2943,17 +2934,7 @@ bool wxWindow::SetForegroundColour( const wxColour &colour )
return TRUE;
}
wxColour sysbg = wxSystemSettings::GetSystemColour( wxSYS_COLOUR_BTNFACE );
if ( sysbg == m_backgroundColour )
{
m_backgroundColour = wxNullColour;
ApplyWidgetStyle();
m_backgroundColour = sysbg;
}
else
{
ApplyWidgetStyle();
}
ApplyWidgetStyle();
return TRUE;
}

View File

@ -2891,7 +2891,8 @@ bool wxWindow::SetBackgroundColour( const wxColour &colour )
return TRUE;
}
if (m_wxwindow)
if ((m_wxwindow) &&
(m_backgroundColour != wxSystemSettings::GetSystemColour(wxSYS_COLOUR_BTNFACE)))
{
/* wxMSW doesn't clear the window here. I don't do that either to
provide compatibility. call Clear() to do the job. */
@ -2900,17 +2901,7 @@ bool wxWindow::SetBackgroundColour( const wxColour &colour )
gdk_window_set_background( window, m_backgroundColour.GetColor() );
}
wxColour sysbg = wxSystemSettings::GetSystemColour( wxSYS_COLOUR_BTNFACE );
if (sysbg == m_backgroundColour)
{
m_backgroundColour = wxNullColour;
ApplyWidgetStyle();
m_backgroundColour = sysbg;
}
else
{
ApplyWidgetStyle();
}
ApplyWidgetStyle();
return TRUE;
}
@ -2943,17 +2934,7 @@ bool wxWindow::SetForegroundColour( const wxColour &colour )
return TRUE;
}
wxColour sysbg = wxSystemSettings::GetSystemColour( wxSYS_COLOUR_BTNFACE );
if ( sysbg == m_backgroundColour )
{
m_backgroundColour = wxNullColour;
ApplyWidgetStyle();
m_backgroundColour = sysbg;
}
else
{
ApplyWidgetStyle();
}
ApplyWidgetStyle();
return TRUE;
}