+ else
+#endif // wxUSE_UXTHEME
+ {
+ COLORREF colBg = wxColourToRGB(GetBackgroundColour());
+
+ // first, draw the background
+ HBRUSH hbrushBackground = ::CreateSolidBrush(colBg);
+ FillRect(hdc, &rectBtn, hbrushBackground);
+ ::DeleteObject(hbrushBackground);
+
+ // draw the border for the current state
+ bool selected = (state & ODS_SELECTED) != 0;
+ if ( !selected )
+ {
+ wxTopLevelWindow *tlw = wxDynamicCast(wxGetTopLevelParent(this), wxTopLevelWindow);
+ if ( tlw )
+ {
+ selected = tlw->GetDefaultItem() == this;
+ }
+ }
+ bool pushed = (SendMessage(GetHwnd(), BM_GETSTATE, 0, 0) & BST_PUSHED) != 0;
+
+ DrawButtonFrame(hdc, rectBtn, selected, pushed);
+
+ // if focused and !nofocus rect
+ if ( (state & ODS_FOCUS) && !(state & ODS_NOFOCUSRECT) )
+ {
+ RECT rectFocus;
+ CopyRect(&rectFocus, &rectBtn);
+
+ // I don't know where does this constant come from, but this is how
+ // Windows draws them
+ InflateRect(&rectFocus, -4, -4);
+
+ DrawFocusRect(hdc, &rectFocus);
+ }