text: #if !defined(AFX_RESIZABLEDIALOG_H__INCLUDED_)
  #define AFX_RESIZABLEDIALOG_H__INCLUDED_
  
  #if _MSC_VER > 1000
  #pragma once
  #endif // _MSC_VER > 1000
  
  #define WINVER 0x0A00
  #define _WIN32_WINNT 0x0A00
  
  // ResizableDialog.h : header file
  //
  /////////////////////////////////////////////////////////////////////////////
  //
  // 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 "ResizableLayout.h"
  #include "ResizableGrip.h"
  #include "ResizableMinMax.h"
  #include "ResizableState.h"
  
  /////////////////////////////////////////////////////////////////////////////
  // CResizableDialog window
  
  class CResizableDialog : public CDialog, public CResizableLayout,
  						 public CResizableGrip, public CResizableMinMax,
  						 public CResizableState
  {
  
  // Construction
  public:
  	CResizableDialog();
  	CResizableDialog(UINT nIDTemplate, CWnd* pParentWnd = NULL);
  	CResizableDialog(LPCTSTR lpszTemplateName, CWnd* pParentWnd = NULL);
  
  // Attributes
  private:
  	// support for temporarily hiding the grip
  	DWORD m_dwGripTempState;
  
  	// flags
  	BOOL m_bEnableSaveRestore;
  	BOOL m_bRectOnly;
  
  	// internal status
  	CString m_sSection;			// section name (identifies a parent window)
  
  // Operations
  public:
  
  // Overrides
  	// ClassWizard generated virtual function overrides
  	//{{AFX_VIRTUAL(CResizableDialog)
  	protected:
  	//}}AFX_VIRTUAL
  
  // Implementation
  public:
  	virtual ~CResizableDialog();
  
  // used internally
  private:
  	void PrivateConstruct();
  
  // callable from derived classes
  protected:
  	// section to use in app's profile
  	void EnableSaveRestore(LPCTSTR pszSection, BOOL bRectOnly = FALSE);
  
  	virtual CWnd* GetResizableWnd()
  	{
  		// make the layout know its parent window
  		return this;
  	};
  
  // Generated message map functions
  protected:
  	//{{AFX_MSG(CResizableDialog)
  	afx_msg void OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI);
  	afx_msg void OnSize(UINT nType, int cx, int cy);
  	afx_msg void OnDestroy();
  	afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
  	afx_msg BOOL OnEraseBkgnd(CDC* pDC);
  	//}}AFX_MSG
  	DECLARE_MESSAGE_MAP()
  };
  
  /////////////////////////////////////////////////////////////////////////////
  
  //{{AFX_INSERT_LOCATION}}
  // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  
  #endif // !defined(AFX_RESIZABLEDIALOG_H__INCLUDED_)
  