X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e3c55eb333d273693ed2aea23da909b33e9e5484..1d63de4a455bde7bad81cb34724cb1df3219cd26:/src/msw/statbmp.cpp diff --git a/src/msw/statbmp.cpp b/src/msw/statbmp.cpp index e4b2399c4a..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,4 +264,28 @@ void wxStaticBitmap::SetImageNoCopy( wxGDIImage* image) ::InvalidateRect(GetHwndOf(GetParent()), &rect, TRUE); } +WXLRESULT wxStaticBitmap::MSWWindowProc(WXUINT nMsg, + WXWPARAM wParam, + WXLPARAM lParam) +{ +#ifndef __WXWINCE__ + 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 +