X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c42404a58eac2c9eb0557565a471a794c387a715..486fd225d4942c852b913636bdc81d9a0a27f7d5:/src/msw/control.cpp diff --git a/src/msw/control.cpp b/src/msw/control.cpp index ce7b2fca18..1bea290c7e 100644 --- a/src/msw/control.cpp +++ b/src/msw/control.cpp @@ -24,6 +24,7 @@ #include "wx/event.h" #include "wx/app.h" #include "wx/dcclient.h" +#include "wx/log.h" #endif #include "wx/control.h" @@ -79,9 +80,11 @@ bool wxControl::MSWCreateControl(const wxChar *classname, const wxString& label, WXDWORD exstyle) { - // VZ: if someone could put a comment here explaining what exactly this is - // needed for, it would be nice... - bool want3D; + // want3D tells us whether or not the style specified a 3D border. + // If so, under WIN16 we can use Ctl3D to give it an appropriate style. + // Sometimes want3D is used to indicate that the non-extended style should have + // WS_BORDER. + bool want3D = TRUE; // if no extended style given, determine it ourselves if ( exstyle == (WXDWORD)-1 ) @@ -89,7 +92,7 @@ bool wxControl::MSWCreateControl(const wxChar *classname, exstyle = GetExStyle(style, &want3D); } - // all controls have these childs (wxWindows creates all controls visible + // all controls have these styles (wxWindows creates all controls visible // by default) style |= WS_CHILD | WS_VISIBLE; @@ -109,9 +112,8 @@ bool wxControl::MSWCreateControl(const wxChar *classname, if ( !m_hWnd ) { -#ifdef __WXDEBUG__ - wxLogError(wxT("Failed to create a control of class '%s'"), classname); -#endif // DEBUG + wxLogDebug(wxT("Failed to create a control of class '%s'"), classname); + wxFAIL_MSG(_T("something is very wrong")); return FALSE; } @@ -143,7 +145,7 @@ bool wxControl::ProcessCommand(wxCommandEvent& event) #if WXWIN_COMPATIBILITY if ( m_callback ) { - (void)(*m_callback)(this, event); + (void)(*m_callback)(*this, event); return TRUE; } @@ -240,7 +242,8 @@ WXHBRUSH wxControl::OnCtlColor(WXHDC pDC, WXHWND pWnd, WXUINT nCtlColor, else SetBkMode(hdc, OPAQUE); - const wxColour& colBack = GetBackgroundColour(); + wxColour colBack = GetBackgroundColour(); + ::SetBkColor(hdc, wxColourToRGB(colBack)); ::SetTextColor(hdc, wxColourToRGB(GetForegroundColour()));