add support for wxCONTROL_ISDEFAULT to wxRendererMSW::DrawPushButton() (modified patch 1572887)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41726 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
34c07b8b63
commit
f2ea42557b
@ -209,22 +209,30 @@ wxRendererMSW::DrawComboBoxDropButton(wxWindow * WXUNUSED(win),
|
||||
void
|
||||
wxRendererMSW::DrawPushButton(wxWindow * WXUNUSED(win),
|
||||
wxDC& dc,
|
||||
const wxRect& rect,
|
||||
const wxRect& rectOrig,
|
||||
int flags)
|
||||
{
|
||||
RECT r;
|
||||
r.left = rect.GetLeft();
|
||||
r.top = rect.GetTop();
|
||||
r.bottom = rect.y + rect.height;
|
||||
r.right = rect.x + rect.width;
|
||||
wxRect rect(rectOrig);
|
||||
|
||||
int style = DFCS_BUTTONPUSH;
|
||||
if ( flags & wxCONTROL_DISABLED )
|
||||
style |= DFCS_INACTIVE;
|
||||
if ( flags & wxCONTROL_PRESSED )
|
||||
style |= DFCS_PUSHED | DFCS_FLAT;
|
||||
if ( flags & wxCONTROL_ISDEFAULT )
|
||||
{
|
||||
// DrawFrameControl() doesn't seem to support default buttons so we
|
||||
// have to draw the border ourselves
|
||||
wxDCPenChanger pen(dc, *wxBLACK_PEN);
|
||||
wxDCBrushChanger brush(dc, *wxTRANSPARENT_BRUSH);
|
||||
dc.DrawRectangle(rect);
|
||||
rect.Inflate(1);
|
||||
}
|
||||
|
||||
::DrawFrameControl(GetHdcOf(dc), &r, DFC_BUTTON, style);
|
||||
RECT rc;
|
||||
wxCopyRectToRECT(rect, rc);
|
||||
|
||||
::DrawFrameControl(GetHdcOf(dc), &rc, DFC_BUTTON, style);
|
||||
}
|
||||
|
||||
// ============================================================================
|
||||
|
Loading…
Reference in New Issue
Block a user