X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/57f4f9255e3d70e219e6eabd68c3990c0f471f81..21bd196564d8483879a57c40ec1eea64114f9bd4:/src/msw/statbmp.cpp diff --git a/src/msw/statbmp.cpp b/src/msw/statbmp.cpp index fd6c408d2e..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,19 +264,28 @@ void wxStaticBitmap::SetImageNoCopy( wxGDIImage* image) ::InvalidateRect(GetHwndOf(GetParent()), &rect, TRUE); } -// We need this or the control can never be moved e.g. in Dialog Editor. 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); } #endif // wxUSE_STATBMP +