void CMDIChildWnd::OnWindowPosChanging(LPWINDOWPOS lpWndPos) { if (!(lpWndPos->flags&SWP_NOSIZE)) { RECT rectClient; if (UpdateClientEdge(&rectClient)&&(GetStyle()&WS_MAXIMIZE)) { ::AdjustWindowRectEx(&rectClient,GetStyle(),FALSE,GetExStyle()); lpWndPos->x=rectClient.left; lpWndPos->y=rectClient.top; lpWndPos->cx=rectClient.right-rectClient.left; lpWndPos->cy=rectClient.bottom-rectClient.top; } } CTargetWnd::OnWindowPosChanging(lpWndPos); }
void CMDIChildWnd::OnWindowPosChanging(LPWINDOWPOS lpWndPos) { if (!(lpWndPos->flags & SWP_NOSIZE)) { CRect rectClient; if (UpdateClientEdge(rectClient) && (GetStyle() & WS_MAXIMIZE)) { // adjust maximized window size and position based on new // size/position of the MDI client area. ::AdjustWindowRectEx(rectClient, GetStyle(), FALSE, GetExStyle()); lpWndPos->x = rectClient.left; lpWndPos->y = rectClient.top; lpWndPos->cx = rectClient.Width(); lpWndPos->cy = rectClient.Height(); } } CFrameWnd::OnWindowPosChanging(lpWndPos); }
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 CMDIChildWnd::OnDestroy() { UpdateClientEdge(); CTargetWnd::OnDestroy(); }
void CMDIChildWnd::OnMDIActivate(HWND hAct,HWND hDeAct) { UpdateClientEdge(); WindowProc(WM_MDIACTIVATE,WPARAM(hAct),LPARAM(hDeAct)); }
void CMDIChildWnd::OnDestroy() { UpdateClientEdge(); CFrameWnd::OnDestroy(); }