Merge branch 'git-for-windows-msys2'
[TortoiseGit.git] / ext / ResizableLib / ResizableMinMax.h
blob430925c49388e0d41b174b7a64792afb5d62d31b
1 /////////////////////////////////////////////////////////////////////////////
2 //
3 // This file is part of ResizableLib
4 // http://sourceforge.net/projects/resizablelib
5 //
6 // Copyright (C) 2000-2004 by Paolo Messina
7 // http://www.geocities.com/ppescher - mailto:ppescher@hotmail.com
8 //
9 // The contents of this file are subject to the Artistic License (the "License").
10 // You may not use this file except in compliance with the License.
11 // You may obtain a copy of the License at:
12 // http://www.opensource.org/licenses/artistic-license.html
14 // If you find this code useful, credits would be nice!
16 /////////////////////////////////////////////////////////////////////////////
18 /*!
19 * @file
20 * @brief Interface for the CResizableMinMax class.
23 #if !defined(AFX_RESIZABLEMINMAX_H__INCLUDED_)
24 #define AFX_RESIZABLEMINMAX_H__INCLUDED_
26 #if _MSC_VER > 1000
27 #pragma once
28 #endif // _MSC_VER > 1000
30 /*! @addtogroup CoreComponents
31 * @{
34 //! @brief brief_description
35 /*!
36 * long_description
38 class CResizableMinMax
40 // Attributes
41 private:
42 // flags
43 BOOL m_bUseMaxTrack;
44 BOOL m_bUseMinTrack;
45 BOOL m_bUseMaxRect;
47 POINT m_ptMinTrackSize; // min tracking size
48 POINT m_ptMaxTrackSize; // max tracking size
49 POINT m_ptMaxPos; // maximized position
50 POINT m_ptMaxSize; // maximized size
52 public:
53 CResizableMinMax();
54 virtual ~CResizableMinMax();
56 protected:
57 void MinMaxInfo(LPMINMAXINFO lpMMI);
58 void ChainMinMaxInfo(LPMINMAXINFO lpMMI, CWnd* pParentFrame, CWnd* pWnd);
60 void ChainMinMaxInfo(LPMINMAXINFO lpMMI, HWND hWndChild, CSize sizeExtra);
62 void ChainMinMaxInfo(LPMINMAXINFO lpMMI, CWnd* pParentWnd, UINT nID, CSize sizeExtra)
64 ChainMinMaxInfo(lpMMI,
65 ::GetDlgItem(pParentWnd->GetSafeHwnd(), nID), sizeExtra);
68 void ChainMinMaxInfoCB(LPMINMAXINFO lpMMI, HWND hWndChild);
69 virtual BOOL CalcSizeExtra(HWND hWndChild, CSize sizeChild, CSize& sizeExtra);
71 void SetMaximizedRect(const CRect& rc); // set window rect when maximized
72 void ResetMaximizedRect(); // reset to default maximized rect
73 void SetMinTrackSize(const CSize& size); // set minimum tracking size
74 void ResetMinTrackSize(); // reset to default minimum tracking size
75 void SetMaxTrackSize(const CSize& size); // set maximum tracking size
76 void ResetMaxTrackSize(); // reset to default maximum tracking size
79 // @}
80 #endif // !defined(AFX_RESIZABLEMINMAX_H__INCLUDED_)