// maxvirtd.cpp : implementation file
//

#include "stdafx.h"
#include "Roll32.h"
#include "maxvirtd.h"

#ifdef _DEBUG
#undef THIS_FILE
static char BASED_CODE THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CMaxVirtDialog dialog


CMaxVirtDialog::CMaxVirtDialog(CWnd* pParent /*=NULL*/)
	: COXRollup(CMaxVirtDialog::IDD, pParent)
{
	SetScrollSteps(100);  // looks pretty

	//{{AFX_DATA_INIT(CMaxVirtDialog)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
}


void CMaxVirtDialog::DoDataExchange(CDataExchange* pDX)
{
	COXRollup::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CMaxVirtDialog)
		// NOTE: the ClassWizard will add DDX and DDV calls here
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CMaxVirtDialog, COXRollup)
	//{{AFX_MSG_MAP(CMaxVirtDialog)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()


/////////////////////////////////////////////////////////////////////////////
// CMaxVirtDialog message handlers

void CMaxVirtDialog::OnCloseRollup()
{
	ShowWindow(SW_HIDE);	// first we hide
	UnArrange();			// second get out of arrange orderings
	DestroyWindow();		// delete will be done in PostNcDestroy
}

void CMaxVirtDialog::GetTitleBarRect(CRect &rcTBarRect)
{
	GetClientRect(rcTBarRect);
	rcTBarRect.bottom = 20;	
}

LPCTSTR CMaxVirtDialog::GetTitleBarBitmap()
{
	// our slightly enlarged bitmap
	return _T("MAXVIRT");
}

void CMaxVirtDialog::PostNcDestroy()
{
	// Why do I have to place the call to delete this here? someone might ask
	// Answer: if we donīt close the dialog manually (close menu,..), it wonīt be 
	// deleted. Placing it to OnDestroy isnīt practical (dbg messages from mfc)
	// see cframewnd or others, they do the same
	COXRollup::PostNcDestroy();
	delete this;
}