X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2f25981069f0409ec17d3ff946870b99f918b717..2bd6022f1c25a202fa54f9a6e63cffe0e3e15eac:/src/msw/checkbox.cpp diff --git a/src/msw/checkbox.cpp b/src/msw/checkbox.cpp index 1734a9b214..8cbda8d72e 100644 --- a/src/msw/checkbox.cpp +++ b/src/msw/checkbox.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: msw/checkbox.cpp +// Name: src/msw/checkbox.cpp // Purpose: wxCheckBox // Author: Julian Smart // Modified by: @@ -17,10 +17,6 @@ // 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" @@ -30,8 +26,9 @@ #if wxUSE_CHECKBOX +#include "wx/checkbox.h" + #ifndef WX_PRECOMP - #include "wx/checkbox.h" #include "wx/brush.h" #include "wx/dcscreen.h" #include "wx/settings.h" @@ -216,9 +213,9 @@ wxSize wxCheckBox::DoGetBestSize() const wxString str = wxGetWindowText(GetHWND()); int wCheckbox, hCheckbox; - if ( !str.IsEmpty() ) + if ( !str.empty() ) { - GetTextExtent(str, &wCheckbox, &hCheckbox); + GetTextExtent(wxStripMenuCodes(str), &wCheckbox, &hCheckbox); wCheckbox += s_checkSize + GetCharWidth(); if ( hCheckbox < s_checkSize ) @@ -374,6 +371,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 +454,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;