#define HSAS_SORTEDDOWN 2
#endif
-#if defined(__WXWINCE__) && !defined(DFCS_FLAT)
- #define DFCS_FLAT 0
+#if defined(__WXWINCE__)
+ #ifndef DFCS_FLAT
+ #define DFCS_FLAT 0
+ #endif
+ #ifndef DFCS_MONO
+ #define DFCS_MONO 0
+ #endif
+#endif
+
+#ifndef DFCS_HOT
+ #define DFCS_HOT 0x1000
#endif
// ----------------------------------------------------------------------------
const wxRect& rect,
int flags = 0);
+ virtual void DrawCheckBox(wxWindow *win,
+ wxDC& dc,
+ const wxRect& rect,
+ int flags = 0);
+
virtual void DrawPushButton(wxWindow *win,
wxDC& dc,
const wxRect& rect,
int flags = 0);
+ virtual void DrawFocusRect(wxWindow* win, wxDC& dc, const wxRect& rect, int flags = 0);
private:
DECLARE_NO_COPY_CLASS(wxRendererMSW)
};
int flags)
{
RECT r;
- r.left = rect.GetLeft();
- r.top = rect.GetTop();
- r.bottom = rect.y + rect.height;
- r.right = rect.x + rect.width;
+ wxCopyRectToRECT(rect, r);
int style = DFCS_SCROLLCOMBOBOX;
if ( flags & wxCONTROL_DISABLED )
::DrawFrameControl(GetHdcOf(dc), &r, DFC_SCROLL, style);
}
+void
+wxRendererMSW::DrawCheckBox(wxWindow * WXUNUSED(win),
+ wxDC& dc,
+ const wxRect& rect,
+ int flags)
+{
+ RECT r;
+ wxCopyRectToRECT(rect, r);
+
+ int style = DFCS_BUTTONCHECK;
+ if ( flags & wxCONTROL_CHECKED )
+ style |= DFCS_CHECKED;
+ if ( flags & wxCONTROL_DISABLED )
+ style |= DFCS_INACTIVE;
+ if ( flags & wxCONTROL_FLAT )
+ style |= DFCS_MONO;
+ if ( flags & wxCONTROL_PRESSED )
+ style |= DFCS_PUSHED;
+ if ( flags & wxCONTROL_CURRENT )
+ style |= DFCS_HOT;
+
+ ::DrawFrameControl(GetHdcOf(dc), &r, DFC_BUTTON, style);
+}
+
void
wxRendererMSW::DrawPushButton(wxWindow * WXUNUSED(win),
wxDC& dc,
::DrawFrameControl(GetHdcOf(dc), &rc, DFC_BUTTON, style);
}
+void wxRendererMSW::DrawFocusRect(wxWindow* WXUNUSED(win), wxDC& dc, const wxRect& rect, int WXUNUSED(flags))
+{
+ RECT rc;
+ wxCopyRectToRECT(rect, rc);
+
+ ::DrawFocusRect(GetHdcOf(dc), &rc);
+}
+
// ============================================================================
// wxRendererXP implementation
// ============================================================================
else
state = CBS_UNCHECKEDNORMAL;
- // CBS_XXX is followed by CBX_XXXGOT, then CBS_XXXPRESSED and DISABLED
- if ( flags & wxCONTROL_CURRENT )
- state += 1;
+ // CBS_XXX is followed by CBX_XXXHOT, then CBS_XXXPRESSED and DISABLED
+ enum
+ {
+ CBS_HOT_OFFSET = 1,
+ CBS_PRESSED_OFFSET = 2,
+ CBS_DISABLED_OFFSET = 3
+ };
+
+ if ( flags & wxCONTROL_DISABLED )
+ state += CBS_DISABLED_OFFSET;
else if ( flags & wxCONTROL_PRESSED )
- state += 2;
- else if ( flags & wxCONTROL_DISABLED )
- state += 3;
+ state += CBS_PRESSED_OFFSET;
+ else if ( flags & wxCONTROL_CURRENT )
+ state += CBS_HOT_OFFSET;
wxUxThemeEngine::Get()->DrawThemeBackground
(