From b7e5ba8f2d676583c790c59388eba8bfa9bd33c2 Mon Sep 17 00:00:00 2001 From: Jamie Gadd Date: Sat, 25 Feb 2006 03:36:45 +0000 Subject: [PATCH] Fixes for WinCE build caused by my last commit. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37727 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/msw/toplevel.h | 5 +++++ src/msw/toplevel.cpp | 25 +++++++++++++++++++++++++ src/msw/window.cpp | 11 ----------- 3 files changed, 30 insertions(+), 11 deletions(-) diff --git a/include/wx/msw/toplevel.h b/include/wx/msw/toplevel.h index e36cedce96..f94199319d 100644 --- a/include/wx/msw/toplevel.h +++ b/include/wx/msw/toplevel.h @@ -87,6 +87,11 @@ public: virtual bool MSWShouldPreProcessMessage(WXMSG* pMsg); #endif // __SMARTPHONE__ && __WXWINCE__ +#if defined(__SMARTPHONE__) || defined(__POCKETPC__) + // Soft Input Panel (SIP) change notification + bool HandleSettingChange(WXWPARAM wParam, WXLPARAM lParam); +#endif + // translate wxWidgets flags to Windows ones virtual WXDWORD MSWGetStyle(long flags, WXDWORD *exstyle) const; diff --git a/src/msw/toplevel.cpp b/src/msw/toplevel.cpp index fb4efe5882..339734afb1 100644 --- a/src/msw/toplevel.cpp +++ b/src/msw/toplevel.cpp @@ -312,6 +312,19 @@ WXHWND wxTopLevelWindowMSW::MSWGetParent() const return (WXHWND)hwndParent; } +#if defined(__SMARTPHONE__) || defined(__POCKETPC__) +bool wxTopLevelWindowMSW::HandleSettingChange(WXWPARAM wParam, WXLPARAM lParam) +{ + SHACTIVATEINFO *info = (SHACTIVATEINFO*) m_activateInfo; + if ( info ) + { + return SHHandleWMSettingChange(GetHwnd(), wParam, lParam, info) == TRUE; + } + + return false; +} +#endif + WXLRESULT wxTopLevelWindowMSW::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM lParam) { WXLRESULT rc = 0; @@ -336,6 +349,18 @@ WXLRESULT wxTopLevelWindowMSW::MSWWindowProc(WXUINT message, WXWPARAM wParam, WX break; } + case WM_SETTINGCHANGE: + { + processed = HandleSettingChange(wParam, lParam); + + // if it was processed will still need to allow the base class to + // forward this message to child windows + if ( processed ) + { + wxTopLevelWindowBase::MSWWindowProc(message, wParam, lParam); + } + break; + } case WM_HIBERNATE: { if (wxTheApp) diff --git a/src/msw/window.cpp b/src/msw/window.cpp index ded4f2b2ca..3cbd040167 100644 --- a/src/msw/window.cpp +++ b/src/msw/window.cpp @@ -3957,17 +3957,6 @@ bool wxWindowMSW::HandleSettingChange(WXWPARAM wParam, WXLPARAM lParam) node = node->GetNext(); } -#if defined(__SMARTPHONE__) || defined(__POCKETPC__) - if ( IsTopLevel() ) - { - SHACTIVATEINFO *info = (SHACTIVATEINFO*) m_activateInfo; - if ( info ) - { - return SHHandleWMSettingChange(GetHwnd(), wParam, lParam, info) == TRUE; - } - } -#endif // defined(__SMARTPHONE__) || defined(__POCKETPC__) - // let the system handle it return false; } -- 2.45.2