]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/button.cpp
Corrections to take into account that range in the API has an end position
[wxWidgets.git] / src / msw / button.cpp
index 0729c9eea0a7ff5a0b0517bfdef376d6e4c51e9d..13f270d4c57f7b8a603ead2f0567774a5e97d09a 100644 (file)
@@ -36,6 +36,7 @@
     #include "wx/settings.h"
     #include "wx/dcscreen.h"
     #include "wx/dcclient.h"
+    #include "wx/toplevel.h"
 #endif
 
 #include "wx/stockitem.h"
@@ -253,7 +254,7 @@ wxSize wxButton::DoGetBestSize() const
 
     wxCoord wBtn,
             hBtn;
-    dc.GetMultiLineTextExtent(wxStripMenuCodes(GetLabel()), &wBtn, &hBtn);
+    dc.GetMultiLineTextExtent(GetLabelText(), &wBtn, &hBtn);
 
     // add a margin -- the button is wider than just its label
     wBtn += 3*GetCharWidth();
@@ -848,11 +849,10 @@ bool wxButton::MSWOnDraw(WXDRAWITEMSTRUCT *wxdis)
     }
 
     COLORREF colFg = wxColourToRGB(GetForegroundColour());
-    DrawButtonText(hdc, &rectBtn,
-                   (state & ODS_NOACCEL ? wxStripMenuCodes(GetLabel())
-                                        : GetLabel()),
-                   state & ODS_DISABLED ? GetSysColor(COLOR_GRAYTEXT)
-                                        : colFg);
+    if ( state & ODS_DISABLED ) colFg = GetSysColor(COLOR_GRAYTEXT) ;
+    wxString label = GetLabel();
+    if ( state & ODS_NOACCEL ) label = GetLabelText() ;
+    DrawButtonText(hdc, &rectBtn, label, colFg);
 
     return true;
 }