-// Draw the equivallent of a wxComboBox
-void wxRendererMSW::DrawComboBox(wxWindow* win, wxDC& dc, const wxRect& rect, int flags)
-{
- // Draw the main part of the control same as TextCtrl
- DrawTextCtrl(win, dc, rect, flags);
-
- // Draw the button inside the border, on the right side
- wxRect br(rect);
- br.height -= 2;
- br.x += br.width - br.height - 1;
- br.width = br.height;
- br.y += 1;
-
- DrawComboBoxDropButton(win, dc, br, flags);
-}
-
-
-void wxRendererMSW::DrawChoice(wxWindow* win, wxDC& dc,
- const wxRect& rect, int flags)
-{
- DrawComboBox(win, dc, rect, flags);
-}
-
-
-// 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),
- BP_RADIOBUTTON,
- state,
- &r,
- NULL
- );
-#endif
-}
-