]> git.saurik.com Git - wxWidgets.git/commitdiff
Fixes for WinCE build caused by my last commit.
authorJamie Gadd <jrgadd2@cs.latrobe.edu.au>
Sat, 25 Feb 2006 03:36:45 +0000 (03:36 +0000)
committerJamie Gadd <jrgadd2@cs.latrobe.edu.au>
Sat, 25 Feb 2006 03:36:45 +0000 (03:36 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37727 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/msw/toplevel.h
src/msw/toplevel.cpp
src/msw/window.cpp

index e36cedce9638f640ae061dd2b7d5dad6a083540e..f94199319d5b8c22d523f6daef8e092673ae4ffa 100644 (file)
@@ -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;
 
index fb4efe5882e2e543a7c2b18890aa0a00d9103d38..339734afb1d96e0e8b4da12fb37b0a34f0dde202 100644 (file)
@@ -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)
index ded4f2b2caae4443325868de143dfa2b8da9d432..3cbd0401678c01cc6e9736c07686db2b139e6d6b 100644 (file)
@@ -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;
 }