1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- /////////////////////////////////////////////////////////////////////////////
- //
- // This file is part of ResizableLib
- // https://github.com/ppescher/resizablelib
- //
- // Copyright (C) 2000-2015 by Paolo Messina
- // mailto:ppescher@hotmail.com
- //
- // The contents of this file are subject to the Artistic License 2.0
- // http://opensource.org/licenses/Artistic-2.0
- //
- // If you find this code useful, credits would be nice!
- //
- /////////////////////////////////////////////////////////////////////////////
- /*!
- * @file
- * @brief Interface for the CResizableMinMax class.
- */
- #if !defined(AFX_RESIZABLEMINMAX_H__INCLUDED_)
- #define AFX_RESIZABLEMINMAX_H__INCLUDED_
- #if _MSC_VER > 1000
- #pragma once
- #endif // _MSC_VER > 1000
- /*! @addtogroup CoreComponents
- * @{
- */
- //! @brief brief_description
- /*!
- * long_description
- */
- class CResizableMinMax
- {
- // Attributes
- private:
- // flags
- BOOL m_bUseMaxTrack;
- BOOL m_bUseMinTrack;
- BOOL m_bUseMaxRect;
- POINT m_ptMinTrackSize; // min tracking size
- POINT m_ptMaxTrackSize; // max tracking size
- POINT m_ptMaxPos; // maximized position
- POINT m_ptMaxSize; // maximized size
- public:
- CResizableMinMax();
- virtual ~CResizableMinMax();
- protected:
- void MinMaxInfo(LPMINMAXINFO lpMMI);
- void ChainMinMaxInfo(LPMINMAXINFO lpMMI, CWnd* pParentFrame, CWnd* pWnd);
- void ChainMinMaxInfo(LPMINMAXINFO lpMMI, HWND hWndChild, CSize sizeExtra);
-
- void ChainMinMaxInfo(LPMINMAXINFO lpMMI, CWnd* pParentWnd, UINT nID, CSize sizeExtra)
- {
- ChainMinMaxInfo(lpMMI,
- ::GetDlgItem(pParentWnd->GetSafeHwnd(), nID), sizeExtra);
- }
- void ChainMinMaxInfoCB(LPMINMAXINFO lpMMI, HWND hWndChild);
- virtual BOOL CalcSizeExtra(HWND hWndChild, CSize sizeChild, CSize& sizeExtra);
- void ResetAllRects();
- void SetMaximizedRect(const CRect& rc); // set window rect when maximized
- void ResetMaximizedRect(); // reset to default maximized rect
- void SetMinTrackSize(const CSize& size); // set minimum tracking size
- void ResetMinTrackSize(); // reset to default minimum tracking size
- void SetMaxTrackSize(const CSize& size); // set maximum tracking size
- void ResetMaxTrackSize(); // reset to default maximum tracking size
- };
- // @}
- #endif // !defined(AFX_RESIZABLEMINMAX_H__INCLUDED_)
|