// ResizableMinMax.h: interface for the CResizableMinMax class. // ///////////////////////////////////////////////////////////////////////////// // // Copyright (C) 2000-2001 by Paolo Messina // (http://www.geocities.com/ppescher - ppescher@yahoo.com) // // The contents of this file are subject to the Artistic License (the "License"). // You may not use this file except in compliance with the License. // You may obtain a copy of the License at: // http://www.opensource.org/licenses/artistic-license.html // // If you find this code useful, credits would be nice! // ///////////////////////////////////////////////////////////////////////////// #if !defined(AFX_RESIZABLEMINMAX_H__INCLUDED_) #define AFX_RESIZABLEMINMAX_H__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 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 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_)