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;
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;
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)
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;
}