X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6aa0103384e632ea2106bf61000dc78b976064c1..7a80bdc851ea4606a7e51570d2b62093594cd47d:/src/msw/statbmp.cpp diff --git a/src/msw/statbmp.cpp b/src/msw/statbmp.cpp index 8ac78dc4f4..f7c3e6e206 100644 --- a/src/msw/statbmp.cpp +++ b/src/msw/statbmp.cpp @@ -38,6 +38,8 @@ #include "wx/statbmp.h" #endif +#include "wx/sysopt.h" + #include // --------------------------------------------------------------------------- @@ -262,16 +264,24 @@ void wxStaticBitmap::SetImageNoCopy( wxGDIImage* image) ::InvalidateRect(GetHwndOf(GetParent()), &rect, TRUE); } -// We need this for e.g. dialog editors. Please do not remove. WXLRESULT wxStaticBitmap::MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam) { #ifndef __WXWINCE__ - // Ensure that static items get messages. Some controls don't like this - // message to be intercepted (e.g. RichEdit), hence the tests. - if ( nMsg == WM_NCHITTEST ) - return (long)HTCLIENT; + static int s_useHTClient = -1; + if (s_useHTClient == -1) + s_useHTClient = wxSystemOptions::GetOptionInt(wxT("msw.staticbitmap.htclient")); + if (s_useHTClient == 1) + { + // Ensure that static items get messages. Some controls don't like this + // message to be intercepted (e.g. RichEdit), hence the tests. + // Also, this code breaks some other processing such as enter/leave tracking + // so it's off by default. + + if ( nMsg == WM_NCHITTEST ) + return (long)HTCLIENT; + } #endif return wxWindow::MSWWindowProc(nMsg, wParam, lParam);