www.pudn.com > TreePropSheetEx_Demo.zip > ResizableMinMax.cpp


// ResizableMinMax.cpp: implementation of the CResizableMinMax class. 
// 
///////////////////////////////////////////////////////////////////////////// 
// 
// Copyright (C) 2000-2002 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! 
// 
///////////////////////////////////////////////////////////////////////////// 
 
#include "stdafx.h" 
#include "ResizableMinMax.h" 
 
#ifdef _DEBUG 
#undef THIS_FILE 
static char THIS_FILE[]=__FILE__; 
#define new DEBUG_NEW 
#endif 
 
////////////////////////////////////////////////////////////////////// 
// Construction/Destruction 
////////////////////////////////////////////////////////////////////// 
 
CResizableMinMax::CResizableMinMax() 
{ 
	m_bUseMinTrack = FALSE; 
	m_bUseMaxTrack = FALSE; 
	m_bUseMaxRect = FALSE; 
} 
 
CResizableMinMax::~CResizableMinMax() 
{ 
 
} 
 
void CResizableMinMax::MinMaxInfo(LPMINMAXINFO lpMMI) 
{ 
	if (m_bUseMinTrack) 
		lpMMI->ptMinTrackSize = m_ptMinTrackSize; 
 
	if (m_bUseMaxTrack) 
		lpMMI->ptMaxTrackSize = m_ptMaxTrackSize; 
 
	if (m_bUseMaxRect) 
	{ 
		lpMMI->ptMaxPosition = m_ptMaxPos; 
		lpMMI->ptMaxSize = m_ptMaxSize; 
	} 
} 
 
void CResizableMinMax::SetMaximizedRect(const CRect& rc) 
{ 
	m_bUseMaxRect = TRUE; 
 
	m_ptMaxPos = rc.TopLeft(); 
	m_ptMaxSize.x = rc.Width(); 
	m_ptMaxSize.y = rc.Height(); 
} 
 
void CResizableMinMax::ResetMaximizedRect() 
{ 
	m_bUseMaxRect = FALSE; 
} 
 
void CResizableMinMax::SetMinTrackSize(const CSize& size) 
{ 
	m_bUseMinTrack = TRUE; 
 
	m_ptMinTrackSize.x = size.cx; 
	m_ptMinTrackSize.y = size.cy; 
} 
 
void CResizableMinMax::ResetMinTrackSize() 
{ 
	m_bUseMinTrack = FALSE; 
} 
 
void CResizableMinMax::SetMaxTrackSize(const CSize& size) 
{ 
	m_bUseMaxTrack = TRUE; 
 
	m_ptMaxTrackSize.x = size.cx; 
	m_ptMaxTrackSize.y = size.cy; 
} 
 
void CResizableMinMax::ResetMaxTrackSize() 
{ 
	m_bUseMaxTrack = FALSE; 
}