// Name: src/msw/tglbtn.cpp
// Purpose: Definition of the wxToggleButton class, which implements a
// toggle button under wxMSW.
-// Author: John Norris, minor changes by Axel Schlueter
-// and William Gallafent.
+// Author: John Norris, minor changes by Axel Schlueter
+// and William Gallafent.
// Modified by:
// Created: 08.02.01
// RCS-ID: $Id$
/////////////////////////////////////////////////////////////////////////////
// ============================================================================
-// declatations
+// declarations
// ============================================================================
// ----------------------------------------------------------------------------
#pragma hdrstop
#endif
-#include "wx/tglbtn.h"
-
#if wxUSE_TOGGLEBTN
+#include "wx/tglbtn.h"
+
#ifndef WX_PRECOMP
#include "wx/button.h"
#include "wx/brush.h"
{
wxString label = wxGetWindowText(GetHWND());
int wBtn;
- GetTextExtent(label, &wBtn, NULL);
+ GetTextExtent(GetLabelText(label), &wBtn, NULL);
int wChar, hChar;
wxGetCharSize(GetHWND(), &wChar, &hChar, GetFont());
int hBtn = BUTTON_HEIGHT_FROM_CHAR_HEIGHT(hChar);
#if wxUSE_BUTTON
- wxSize sz = wxButton::GetDefaultSize();
- if (wBtn > sz.x)
- sz.x = wBtn;
- if (hBtn > sz.y)
- sz.y = hBtn;
-#else
+ // make all buttons of at least standard size unless wxBU_EXACTFIT is given
+ if ( !HasFlag(wxBU_EXACTFIT) )
+ {
+ const wxSize szMin = wxButton::GetDefaultSize();
+ if ( wBtn < szMin.x )
+ wBtn = szMin.x;
+ if ( hBtn < szMin.y )
+ hBtn = szMin.y;
+ }
+#endif // wxUSE_BUTTON
+
wxSize sz(wBtn, hBtn);
-#endif
+ CacheBestSize(sz);
return sz;
}
}
#endif // wxUSE_TOGGLEBTN
-