// In wxMSW it was only wxSpinCtrl derived from wxSpinButton but in
// WinCE of Smartphones this happens also for native wxTextCtrl,
// wxChoice and others.
- virtual wxSize GetBestSpinerSize(const bool is_vertical) const;
+ virtual wxSize GetBestSpinnerSize(const bool is_vertical) const;
// create the control of the given Windows class: this is typically called
// from Create() method of the derived class passing its label, pos and
virtual WXHBRUSH MSWControlColor(WXHDC pDC);
// call this from the derived class MSWControlColor() if you want to show
- // the control greyed out
+ // the control greyed out (and opaque)
WXHBRUSH MSWControlColorDisabled(WXHDC pDC);
// call this from the derived class MSWControlColor() if you want to always
// paint the background (as all opaque controls do)
WXHBRUSH MSWControlColorSolid(WXHDC pDC)
{
- return MSWControlColorSolid(pDC, GetBackgroundColour());
+ return DoMSWControlColor(pDC, GetBackgroundColour());
}
- // common part of the 3 methods above
- WXHBRUSH MSWControlColorSolid(WXHDC pDC, wxColour colBg);
+ // common part of the 3 functions above: pass wxNullColour to use the
+ // appropriate background colour (meaning ours or our parents) or a fixed
+ // one
+ virtual WXHBRUSH DoMSWControlColor(WXHDC pDC, wxColour colBg);
+
+ // another WM_CTLCOLOR-related function: override this to return the brush
+ // which should be used to paint the control background by default
+ //
+ // for most controls, the default behaviour of returning 0 and letting the
+ // system do it is correct, but for some -- e.g. checkboxes -- we actually
+ // have to return transparent brush from here to prevent the system from
+ // overwriting background with solid colour
+ virtual WXHBRUSH MSWGetDefaultBgBrush() { return 0; }
// this is a helper for the derived class GetClassDefaultAttributes()
// implementation: it returns the right colours for the classes which