-
-// Draw a themed radio button
-void wxRendererMSW::DrawRadioButton(wxWindow* win, wxDC& dc, const wxRect& rect, int flags)
-{
-#if wxUSE_UXTHEME
- wxUxThemeHandle hTheme(win, L"BUTTON");
- if ( !hTheme )
-#endif
- {
- // ??? m_rendererNative.DrawRadioButton(win, dc, rect, flags);
- return;
- }
-
-#if wxUSE_UXTHEME
- RECT r;
- wxCopyRectToRECT(rect, r);
-
- int state;
- if ( flags & wxCONTROL_CHECKED )
- state = RBS_CHECKEDNORMAL;
- else if ( flags & wxCONTROL_UNDETERMINED )
- state = RBS_MIXEDNORMAL;
- else
- state = RBS_UNCHECKEDNORMAL;
-
- // RBS_XXX is followed by RBX_XXXGOT, then RBS_XXXPRESSED and DISABLED
- if ( flags & wxCONTROL_CURRENT )
- state += 1;
- else if ( flags & wxCONTROL_PRESSED )
- state += 2;
- else if ( flags & wxCONTROL_DISABLED )
- state += 3;
-
- wxUxThemeEngine::Get()->DrawThemeBackground
- (
- hTheme,
- GraphicsHDC(&dc).HDC(),
- BP_RADIOBUTTON,
- state,
- &r,
- NULL
- );
-#endif
-}
-