]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/tglbtn.cpp
[ 1936700 ] wxCAL_SHOW_WEEK_NUMBERS, slightly modified
[wxWidgets.git] / src / msw / tglbtn.cpp
index e3e986fe8c0ef32437136d1ed5cb32ba6fb37a82..7a0e49c862c76766b01e3eb86500300557419da8 100644 (file)
@@ -83,11 +83,6 @@ bool wxToggleButton::Create(wxWindow *parent, wxWindowID id,
     return true;
 }
 
-wxBorder wxToggleButton::GetDefaultBorder() const
-{
-    return wxBORDER_NONE;
-}
-
 WXDWORD wxToggleButton::MSWGetStyle(long style, WXDWORD *exstyle) const
 {
     WXDWORD msStyle = wxControl::MSWGetStyle(style, exstyle);
@@ -114,7 +109,7 @@ wxSize wxToggleButton::DoGetBestSize() const
 {
    wxString label = wxGetWindowText(GetHWND());
    int wBtn;
-   GetTextExtent(wxStripMenuCodes(label), &wBtn, NULL);
+   GetTextExtent(GetLabelText(label), &wBtn, NULL);
 
    int wChar, hChar;
    wxGetCharSize(GetHWND(), &wChar, &hChar, GetFont());
@@ -126,14 +121,18 @@ wxSize wxToggleButton::DoGetBestSize() const
    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;