#if defined(__SMARTPHONE__) || defined(__POCKETPC__)
bool wxTopLevelWindowMSW::HandleSettingChange(WXWPARAM wParam, WXLPARAM lParam)
{
- SHACTIVATEINFO* info = (SHACTIVATEINFO*) m_activateInfo;
- if (!info) return false;
- return SHHandleWMSettingChange(GetHwnd(), wParam, lParam, info) == TRUE;
+ SHACTIVATEINFO *info = (SHACTIVATEINFO*) m_activateInfo;
+ if ( info )
+ {
+ SHHandleWMSettingChange(GetHwnd(), wParam, lParam, info);
+ }
+
+ return wxWindowMSW::HandleSettingChange(wParam, lParam);
}
#endif
WXLRESULT rc = 0;
bool processed = false;
+#if defined(__SMARTPHONE__) || defined(__POCKETPC__)
switch ( message )
{
-#if defined(__SMARTPHONE__) || defined(__POCKETPC__)
case WM_ACTIVATE:
{
SHACTIVATEINFO* info = (SHACTIVATEINFO*) m_activateInfo;
break;
}
- case WM_SETTINGCHANGE:
- {
- processed = HandleSettingChange(wParam,lParam);
- break;
- }
case WM_HIBERNATE:
{
if (wxTheApp)
}
break;
}
-#endif
}
+#endif
if ( !processed )
rc = wxTopLevelWindowBase::MSWWindowProc(message, wParam, lParam);
}
else // hidden
{
- // we can't maximize the hidden frame because it shows it as well, so
- // just remember that we should do it later in this case
+ // we can't maximize the hidden frame because it shows it as well,
+ // so just remember that we should do it later in this case
m_maximizeOnShow = maximize;
// after calling Maximize() the client code expects to get the frame
// "real" size and doesn't want to know that, because of implementation
// details, the frame isn't really maximized yet but will be only once
// it's shown, so return our size as it will be then in this case
-
- // we don't know which display we're on yet so use the default one
- SetSize(wxGetClientDisplayRect().GetSize());
+ if ( maximize )
+ {
+ // unfortunately we don't know which display we're on yet so we
+ // have to use the default one
+ SetSize(wxGetClientDisplayRect().GetSize());
+ }
+ //else: can't do anything in this case, we don't have the old size
}
}
#ifdef __WXWINCE__
return false;
#else
- // also update the current state
- ((wxTopLevelWindowMSW *)this)->m_iconized = ::IsIconic(GetHwnd()) != 0;
-
- return m_iconized;
+ // don't use m_iconized, it may be briefly out of sync with the real state
+ // as it's only modified when we receive a WM_SIZE and we could be called
+ // from an event handler from one of the messages we receive before it,
+ // such as WM_MOVE
+ return ::IsIconic(GetHwnd()) != 0;
#endif
}
{
wxTopLevelWindowBase::SetIcons(icons);
-#if defined(__WIN95__) && !defined(__WXMICROWIN__)
+#if !defined(__WXMICROWIN__)
const wxIcon& sml = icons.GetIcon( wxSize( 16, 16 ) );
if( sml.Ok() && sml.GetWidth() == 16 && sml.GetHeight() == 16 )
{
::SendMessage( GetHwndOf( this ), WM_SETICON, ICON_BIG,
(LPARAM)GetHiconOf(big) );
}
-#endif // __WIN95__
+#endif // !__WXMICROWIN__
}
bool wxTopLevelWindowMSW::EnableCloseButton(bool enable)
LONG APIENTRY _EXPORT
wxDlgProc(HWND hDlg,
UINT message,
- WPARAM wParam,
- LPARAM lParam)
+ WPARAM WXUNUSED(wParam),
+ LPARAM WXUNUSED(lParam))
{
switch ( message )
{
// ourselves, we return FALSE for it as well
return FALSE;
}
-
-#if defined(__SMARTPHONE__) || defined(__POCKETPC__)
- case WM_SETTINGCHANGE:
- {
- wxTopLevelWindow *tlw = wxDynamicCast(wxGetWindowFromHWND(hDlg), wxTopLevelWindow);
- if(tlw) return tlw->HandleSettingChange(wParam,lParam) ? TRUE : FALSE;
- }
-#endif
}
// for almost all messages, returning FALSE means that we didn't process