void CMainFrame::OnWindowTogglemax() { BOOL bIfMaximized; CChildFrame *pActiveWnd = (CChildFrame *) MDIGetActive( &bIfMaximized); if( bIfMaximized) { MDIRestore( pActiveWnd); if( !pActiveWnd->m_bAllreadyUnmaximized) { pActiveWnd->MoveWindow( 0, 0, 256, 256); RECT rectClient; pActiveWnd->GetClientRect( &rectClient); PIX pixRightWidth = 256+256-rectClient.right+4; PIX pixRightHeight = 256+256-rectClient.bottom+4; pActiveWnd->MoveWindow( 0, 0, pixRightWidth, pixRightHeight); pActiveWnd->m_bAllreadyUnmaximized = TRUE; } } else { MDIMaximize( pActiveWnd); } theApp.m_chGlobal.MarkChanged(); }