]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/checkbox.cpp
compilation fix for gcc4 (patch 1428840)
[wxWidgets.git] / src / msw / checkbox.cpp
index 1734a9b214b700100ea147354a0ebd4b0321f64a..32cfc4e50ee82e1e7026fba26ceb99d76ab4d993 100644 (file)
 // headers
 // ----------------------------------------------------------------------------
 
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-    #pragma implementation "checkbox.h"
-#endif
-
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
@@ -218,7 +214,7 @@ wxSize wxCheckBox::DoGetBestSize() const
     int wCheckbox, hCheckbox;
     if ( !str.IsEmpty() )
     {
-        GetTextExtent(str, &wCheckbox, &hCheckbox);
+        GetTextExtent(wxStripMenuCodes(str), &wCheckbox, &hCheckbox);
         wCheckbox += s_checkSize + GetCharWidth();
 
         if ( hCheckbox < s_checkSize )
@@ -374,6 +370,12 @@ void wxCheckBox::MakeOwnerDrawn(bool ownerDrawn)
     }
 
     ::SetWindowLong(GetHwnd(), GWL_STYLE, style);
+
+    if ( !ownerDrawn )
+    {
+        // ensure that controls state is consistent with internal state
+        DoSet3StateValue(m_state);
+    }
 }
 
 void wxCheckBox::OnMouseEnterOrLeave(wxMouseEvent& event)
@@ -451,7 +453,8 @@ bool wxCheckBox::MSWOnDraw(WXDRAWITEMSTRUCT *item)
     // to it without breaking backwards compatibility
 
     // classic Win32 version -- this can be useful when we move this into
-#if 0
+    // wxRendererNative
+#if defined(__WXWINCE__) || !wxUSE_UXTHEME
     UINT state = DFCS_BUTTONCHECK;
     if ( !IsEnabled() )
         state |= DFCS_INACTIVE;