added another DoEraseBackground overload (no real changes)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30654 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 2004-11-19 20:50:25 +00:00
parent 65546961ea
commit 9b7d2b81cc
2 changed files with 11 additions and 4 deletions

View File

@ -165,6 +165,9 @@ public:
// handler for child pages erase background event
void DoEraseBackground(wxEraseEvent& event);
// real implementation of the above method
void DoEraseBackground(wxWindow *win, WXHDC hDC);
// get the brush to be used for painting the background for the controls
// which need it in their MSWControlColor()
//

View File

@ -909,19 +909,23 @@ WXHBRUSH wxNotebook::GetThemeBackgroundBrush(WXHDC hDC, wxWindow *win) const
}
void wxNotebook::DoEraseBackground(wxEraseEvent& event)
{
DoEraseBackground((wxWindow *)event.GetEventObject(),
(WXHDC)GetHdcOf(*event.GetDC()));
}
void wxNotebook::DoEraseBackground(wxWindow *win, WXHDC hDC)
{
// we can either draw the background ourselves or let DrawThemeBackground()
// do it, but as we already have the correct brush, let's do it ourselves
// (note that we use the same code in wxControl::MSWControlColor(), so if
// it breaks, it should at least break in consistent way)
wxWindow *win = (wxWindow *)event.GetEventObject();
HDC hdc = GetHdcOf(*event.GetDC());
WXHBRUSH hbr = GetThemeBackgroundBrush((WXHDC)hdc, win);
WXHBRUSH hbr = GetThemeBackgroundBrush(hDC, win);
if ( hbr )
{
RECT rectClient;
::GetClientRect(GetHwndOf(win), &rectClient);
::FillRect(hdc, &rectClient, (HBRUSH)hbr);
::FillRect((HDC)hDC, &rectClient, (HBRUSH)hbr);
}
}