void CSCBMiniDockFrameWnd::OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI) { baseCSCBMiniDockFrameWnd::OnGetMinMaxInfo(lpMMI); CSizingControlBar* pBar = GetSizingControlBar(); if (pBar != NULL) { CRect r(CPoint(0, 0), pBar->m_szMinFloat - CSize(4, 4)); #ifndef _SCB_MINIFRAME_CAPTION CMiniFrameWnd::CalcBorders(&r, WS_THICKFRAME); #else CMiniFrameWnd::CalcBorders(&r, WS_THICKFRAME|WS_CAPTION); #endif //_SCB_MINIFRAME_CAPTION lpMMI->ptMinTrackSize.x = r.Width(); lpMMI->ptMinTrackSize.y = r.Height(); if(pBar->m_bFixedFloat) { lpMMI->ptMinTrackSize.x = pBar->m_szFixedFloat.cx; lpMMI->ptMinTrackSize.y = pBar->m_szFixedFloat.cy; lpMMI->ptMaxTrackSize.x = pBar->m_szFixedFloat.cx; lpMMI->ptMaxTrackSize.y = pBar->m_szFixedFloat.cy; } } }
void CSCBMiniDockFrameWnd::OnWindowPosChanging(WINDOWPOS FAR* lpwndpos) { if ((GetStyle() & MFS_4THICKFRAME) != 0) { CSizingControlBar* pBar = GetSizingControlBar(); if (pBar != NULL) { lpwndpos->flags |= SWP_NOSIZE; // don't size this time // prevents flicker pBar->m_pDockBar->ModifyStyle(0, WS_CLIPCHILDREN); // enable diagonal resizing DWORD dwStyleRemove = MFS_4THICKFRAME; #ifndef _SCB_MINIFRAME_CAPTION // remove caption dwStyleRemove |= WS_SYSMENU|WS_CAPTION; #endif ModifyStyle(dwStyleRemove, 0); DelayRecalcLayout(); pBar->PostMessage(WM_NCPAINT); } } CMiniFrameWnd::OnWindowPosChanging(lpwndpos); }
void CSCBMiniDockFrameWnd::OnSize(UINT nType, int cx, int cy) { CSizingControlBar* pBar = GetSizingControlBar(); if ((pBar != NULL) && (GetStyle() & MFS_4THICKFRAME) == 0 && pBar->IsVisible()) pBar->m_szFloat = CSize(cx + 4, cy + 4); CMiniDockFrameWnd::OnSize(nType, cx, cy); }
void CSCBMiniDockFrameWnd::OnNcLButtonDown(UINT nHitTest, CPoint point) { if (nHitTest == HTCAPTION || nHitTest == HTCLOSE) { CMiniDockFrameWnd::OnNcLButtonDown(nHitTest, point); return; } if (GetSizingControlBar() != NULL) CMiniFrameWnd::OnNcLButtonDown(nHitTest, point); else CMiniDockFrameWnd::OnNcLButtonDown(nHitTest, point); }