#endif
#include "wx/statbox.h"
+#include "wx/notebook.h"
#include "wx/msw/private.h"
-#include "wx/msw/notebook.h"
+
+// under CE this style is not defined but we don't need to make static boxes
+// transparent there neither
+#ifndef WS_EX_TRANSPARENT
+ #define WS_EX_TRANSPARENT 0
+#endif
// ----------------------------------------------------------------------------
// wxWin macros
if ( !CreateControl(parent, id, pos, size, style, wxDefaultValidator, name) )
return false;
- if ( !MSWCreateControl(wxT("BUTTON"), BS_GROUPBOX, pos, size, label, 0) )
+ if ( !MSWCreateControl(wxT("BUTTON"), label, pos, size) )
return false;
return true;
}
+WXDWORD wxStaticBox::MSWGetStyle(long style, WXDWORD *exstyle) const
+{
+ long styleWin = wxStaticBoxBase::MSWGetStyle(style, exstyle);
+
+ if ( exstyle )
+ *exstyle = WS_EX_TRANSPARENT;
+
+ return styleWin | BS_GROUPBOX;
+}
+
wxSize wxStaticBox::DoGetBestSize() const
{
int cx, cy;
return wxSize(wBox, hBox);
}
-WXHBRUSH
-wxStaticBox::MSWGetBgBrushForSelf(wxWindow *parent, WXHDC WXUNUSED(pDC))
-{
- // we can't use pattern brushes because, apparently, the window proc of our
- // class does something which invalidates the brush origin before drawing
- // with it and so any patetrn brush is used incorrectly as can be seen by
- // putting a static box inside a (themed) notebook
- //
- // so always use solid brush for painting the background (note that this
- // only applies to the background of the box label, not the insides of the
- // box itself)
- return parent->MSWGetSolidBgBrushForChild(this);
-}
-
#endif // wxUSE_STATBOX