- // don't use wxWindow version as we want to call DoShowWindow()
- if ( !wxWindowBase::Show(show) )
- return FALSE;
-
- int nShowCmd;
- if ( show )
- {
- if ( m_maximizeOnShow )
- {
- // show and maximize
- nShowCmd = SW_MAXIMIZE;
-
- m_maximizeOnShow = FALSE;
- }
- else // just show
- {
- nShowCmd = SW_SHOW;
- }
- }
- else // hide
- {
- nShowCmd = SW_HIDE;
- }
-
- DoShowWindow(nShowCmd);
-
- if ( show )
- {
- ::BringWindowToTop(GetHwnd());
-
- wxActivateEvent event(wxEVT_ACTIVATE, TRUE, m_windowId);
- event.SetEventObject( this );
- GetEventHandler()->ProcessEvent(event);
- }
- else // hide
- {
- // Try to highlight the correct window (the parent)
- if ( GetParent() )
- {
- HWND hWndParent = GetHwndOf(GetParent());
- if (hWndParent)
- ::BringWindowToTop(hWndParent);
- }
- }
-
- return TRUE;
-}
-
-void wxFrameMSW::Iconize(bool iconize)
-{
- DoShowWindow(iconize ? SW_MINIMIZE : SW_RESTORE);
-}
-
-void wxFrameMSW::Maximize(bool maximize)
-{
- if ( IsShown() )
- {
- // just maximize it directly
- DoShowWindow(maximize ? SW_MAXIMIZE : SW_RESTORE);
- }
- 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
- m_maximizeOnShow = TRUE;
- }
-}
-
-void wxFrameMSW::Restore()
-{
- DoShowWindow(SW_RESTORE);
-}
-
-bool wxFrameMSW::IsIconized() const
-{
-#ifdef __WXMICROWIN__
- // TODO
- return FALSE;
-#else
- ((wxFrameMSW *)this)->m_iconized = (::IsIconic(GetHwnd()) != 0);
- return m_iconized;
-#endif
-}
-
-// Is it maximized?
-bool wxFrameMSW::IsMaximized() const
-{
-#ifdef __WXMICROWIN__
- // TODO
- return FALSE;
-#else
- return (::IsZoomed(GetHwnd()) != 0);
-#endif
-}
-
-void wxFrameMSW::SetIcon(const wxIcon& icon)
-{
- wxFrameBase::SetIcon(icon);
-
-#if defined(__WIN95__) && !defined(__WXMICROWIN__)
- if ( m_icon.Ok() )
- {
- SendMessage(GetHwnd(), WM_SETICON,
- (WPARAM)TRUE, (LPARAM)(HICON) m_icon.GetHICON());
- }
-#endif // __WIN95__