fixed background drawing for opaque controls
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31119 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -125,7 +125,15 @@ protected:
|
|||||||
|
|
||||||
// call this from the derived class MSWControlColor() if you want to always
|
// call this from the derived class MSWControlColor() if you want to always
|
||||||
// paint the background (as all opaque controls do)
|
// paint the background (as all opaque controls do)
|
||||||
WXHBRUSH MSWControlColorSolid(WXHDC pDC, wxColour colBg = wxNullColour);
|
WXHBRUSH MSWControlColorSolid(WXHDC pDC)
|
||||||
|
{
|
||||||
|
return DoMSWControlColor(pDC, GetBackgroundColour());
|
||||||
|
}
|
||||||
|
|
||||||
|
// common part of the 3 functions above: pass wxNullColour to use the
|
||||||
|
// appropriate background colour (meaning ours or our parents) or a fixed
|
||||||
|
// one
|
||||||
|
WXHBRUSH DoMSWControlColor(WXHDC pDC, wxColour colBg);
|
||||||
|
|
||||||
// another WM_CTLCOLOR-related function: override this to return the brush
|
// another WM_CTLCOLOR-related function: override this to return the brush
|
||||||
// which should be used to paint the control background by default
|
// which should be used to paint the control background by default
|
||||||
|
@@ -331,7 +331,7 @@ bool wxControl::MSWOnNotify(int idCtrl,
|
|||||||
}
|
}
|
||||||
#endif // Win95
|
#endif // Win95
|
||||||
|
|
||||||
WXHBRUSH wxControl::MSWControlColorSolid(WXHDC pDC, wxColour colBg)
|
WXHBRUSH wxControl::DoMSWControlColor(WXHDC pDC, wxColour colBg)
|
||||||
{
|
{
|
||||||
HDC hdc = (HDC)pDC;
|
HDC hdc = (HDC)pDC;
|
||||||
if ( m_hasFgCol )
|
if ( m_hasFgCol )
|
||||||
@@ -358,18 +358,18 @@ WXHBRUSH wxControl::MSWControlColorSolid(WXHDC pDC, wxColour colBg)
|
|||||||
|
|
||||||
WXHBRUSH wxControl::MSWControlColor(WXHDC pDC)
|
WXHBRUSH wxControl::MSWControlColor(WXHDC pDC)
|
||||||
{
|
{
|
||||||
|
// by default consider that the controls text shouldn't erase the
|
||||||
|
// background under it (this is true for all static controls, check boxes,
|
||||||
|
// radio buttons, ...
|
||||||
::SetBkMode((HDC)pDC, TRANSPARENT);
|
::SetBkMode((HDC)pDC, TRANSPARENT);
|
||||||
|
|
||||||
return MSWControlColorSolid(pDC);
|
return DoMSWControlColor(pDC, wxNullColour);
|
||||||
}
|
}
|
||||||
|
|
||||||
WXHBRUSH wxControl::MSWControlColorDisabled(WXHDC pDC)
|
WXHBRUSH wxControl::MSWControlColorDisabled(WXHDC pDC)
|
||||||
{
|
{
|
||||||
return MSWControlColorSolid
|
return DoMSWControlColor(pDC,
|
||||||
(
|
wxSystemSettings::GetColour(wxSYS_COLOUR_BTNFACE));
|
||||||
pDC,
|
|
||||||
wxSystemSettings::GetColour(wxSYS_COLOUR_BTNFACE)
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
||||||
|
Reference in New Issue
Block a user