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