void CMDIChildWnd::OnMDIActivate( BOOL bActivate, CWnd *pActivateWnd, CWnd *pDeactivateWnd ) /******************************************************/ { UNUSED_ALWAYS( pDeactivateWnd ); CView *pView = GetActiveView(); if( pView != NULL ) { if( !bActivate ) { pView->OnActivateView( FALSE, pView, pView ); } else { pView->OnActivateView( TRUE, pView, pView ); } } OnUpdateFrameMenu( bActivate, pActivateWnd, NULL ); CMDIFrameWnd *pFrame = GetMDIFrame(); ASSERT( pFrame != NULL ); pFrame->DrawMenuBar(); }
void CMDIChildWnd::OnMDIActivate(BOOL bActivate, CWnd* pActivateWnd, CWnd*) { m_bPseudoInactive = FALSE; // must be happening for real // make sure MDI client window has correct client edge UpdateClientEdge(); // send deactivate notification to active view CView* pActiveView = GetActiveView(); if (!bActivate && pActiveView != NULL) pActiveView->OnActivateView(FALSE, pActiveView, pActiveView); // allow hook to short circuit normal activation BOOL bHooked = FALSE; #ifndef _AFX_NO_OLE_SUPPORT if (m_pNotifyHook != NULL && m_pNotifyHook->OnDocActivate(bActivate)) bHooked = TRUE; #endif // update titles (don't AddToTitle if deactivate last) if (!bHooked) OnUpdateFrameTitle(bActivate || (pActivateWnd != NULL)); // re-activate the appropriate view if (bActivate) { if (pActiveView != NULL && GetMDIFrame() == GetActiveWindow()) pActiveView->OnActivateView(TRUE, pActiveView, pActiveView); } // update menus if (!bHooked) { OnUpdateFrameMenu(bActivate, pActivateWnd, NULL); GetMDIFrame()->DrawMenuBar(); } }
void CMDIFrameWnd::DelayUpdateFrameMenu(HMENU hMenuAlt) { OnUpdateFrameMenu(hMenuAlt); m_nIdleFlags |= idleMenu; }
//**************************************************************************** void CBCGPFrameWnd::DelayUpdateFrameMenu(HMENU hMenuAlt) { OnUpdateFrameMenu (hMenuAlt); CFrameWnd::DelayUpdateFrameMenu (hMenuAlt); }