|
|
/********************************************************************
|
|
|
*
|
|
|
* Copyright (c) 2002 Sven Wiegand <mail@sven-wiegand.de>
|
|
|
*
|
|
|
* You can use this and modify this in any way you want,
|
|
|
* BUT LEAVE THIS HEADER INTACT.
|
|
|
*
|
|
|
* Redistribution is appreciated.
|
|
|
*
|
|
|
* $Workfile:$
|
|
|
* $Revision:1.0$
|
|
|
* $Modtime:$
|
|
|
* $Author:Gary Lam$
|
|
|
*
|
|
|
* Revision History:
|
|
|
* $History:$
|
|
|
*
|
|
|
*********************************************************************/
|
|
|
|
|
|
|
|
|
#if !defined(AFX_PROPPAGEFRAMEDEFAULT_H__5C5B7AC9_2DF5_4E8C_8F5E_DE2CC04BBED7__INCLUDED_)
|
|
|
#define AFX_PROPPAGEFRAMEDEFAULT_H__5C5B7AC9_2DF5_4E8C_8F5E_DE2CC04BBED7__INCLUDED_
|
|
|
|
|
|
#if _MSC_VER > 1000
|
|
|
#pragma once
|
|
|
#endif // _MSC_VER > 1000
|
|
|
|
|
|
#include "PropPageFrame.h"
|
|
|
|
|
|
|
|
|
namespace TreePropSheet
|
|
|
{
|
|
|
|
|
|
|
|
|
/**
|
|
|
An implementation of CPropPageFrame, that works well for Windows XP
|
|
|
styled systems and older windows versions (without themes).
|
|
|
|
|
|
@author Sven Wiegand
|
|
|
*/
|
|
|
class /*AFX_EXT_CLASS*/ CPropPageFrameDefault : public CWnd,
|
|
|
public CPropPageFrame
|
|
|
{
|
|
|
// construction/destruction
|
|
|
public:
|
|
|
CPropPageFrameDefault();
|
|
|
virtual ~CPropPageFrameDefault();
|
|
|
|
|
|
// operations
|
|
|
public:
|
|
|
|
|
|
// overridings
|
|
|
public:
|
|
|
virtual BOOL Create(DWORD dwWindowStyle, const RECT &rect, CWnd *pwndParent, UINT nID);
|
|
|
virtual CWnd* GetWnd();
|
|
|
virtual void SetCaption(LPCTSTR lpszCaption, HICON hIcon = NULL);
|
|
|
|
|
|
protected:
|
|
|
virtual CRect CalcMsgArea();
|
|
|
virtual CRect CalcCaptionArea();
|
|
|
virtual void DrawCaption(CDC *pDc, CRect rect, LPCTSTR lpszCaption, HICON hIcon);
|
|
|
|
|
|
// Implementation helpers
|
|
|
protected:
|
|
|
/**
|
|
|
Fills a rectangular area with a gradient color starting at the left
|
|
|
side with the color clrLeft and ending at the right sight with the
|
|
|
color clrRight.
|
|
|
|
|
|
@param pDc
|
|
|
Device context to draw the rectangle in.
|
|
|
@param rect
|
|
|
Rectangular area to fill.
|
|
|
@param clrLeft
|
|
|
Color on the left side.
|
|
|
@param clrRight
|
|
|
Color on the right side.
|
|
|
*/
|
|
|
void FillGradientRectH(CDC *pDc, const RECT &rect, COLORREF clrLeft, COLORREF clrRight);
|
|
|
|
|
|
/**
|
|
|
Returns TRUE if Windows XP theme support is available, FALSE
|
|
|
otherwise.
|
|
|
*/
|
|
|
BOOL ThemeSupport() const;
|
|
|
|
|
|
protected:
|
|
|
//{{AFX_VIRTUAL(CPropPageFrameDefault)
|
|
|
//}}AFX_VIRTUAL
|
|
|
|
|
|
// message handlers
|
|
|
protected:
|
|
|
//{{AFX_MSG(CPropPageFrameDefault)
|
|
|
afx_msg void OnPaint();
|
|
|
afx_msg BOOL OnEraseBkgnd(CDC* pDC);
|
|
|
//}}AFX_MSG
|
|
|
DECLARE_MESSAGE_MAP()
|
|
|
|
|
|
// attributes
|
|
|
protected:
|
|
|
/**
|
|
|
Image list that contains only the current icon or nothing if there
|
|
|
is no icon.
|
|
|
*/
|
|
|
CImageList m_Images;
|
|
|
};
|
|
|
|
|
|
|
|
|
} //namespace TreePropSheet
|
|
|
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
//{{AFX_INSERT_LOCATION}}
|
|
|
// Microsoft Visual C++ f<>gt unmittelbar vor der vorhergehenden Zeile zus<75>tzliche Deklarationen ein.
|
|
|
|
|
|
#endif // AFX_PROPPAGEFRAMEDEFAULT_H__5C5B7AC9_2DF5_4E8C_8F5E_DE2CC04BBED7__INCLUDED_
|