You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

290 lines
11 KiB
C++

// XTPPopupPaintManager.h: interface for the CXTPPopupPaintManager class.
//
// This file is a part of the XTREME CONTROLS MFC class library.
// (c)1998-2012 Codejock Software, All Rights Reserved.
//
// THIS SOURCE FILE IS THE PROPERTY OF CODEJOCK SOFTWARE AND IS NOT TO BE
// RE-DISTRIBUTED BY ANY MEANS WHATSOEVER WITHOUT THE EXPRESSED WRITTEN
// CONSENT OF CODEJOCK SOFTWARE.
//
// THIS SOURCE CODE CAN ONLY BE USED UNDER THE TERMS AND CONDITIONS OUTLINED
// IN THE XTREME TOOLKIT PRO LICENSE AGREEMENT. CODEJOCK SOFTWARE GRANTS TO
// YOU (ONE SOFTWARE DEVELOPER) THE LIMITED RIGHT TO USE THIS SOFTWARE ON A
// SINGLE COMPUTER.
//
// CONTACT INFORMATION:
// support@codejock.com
// http://www.codejock.com
//
/////////////////////////////////////////////////////////////////////////////
//{{AFX_CODEJOCK_PRIVATE
#if !defined(_XTPPOPUPPAINTMANAGER_H__)
#define _XTPPOPUPPAINTMANAGER_H__
//}}AFX_CODEJOCK_PRIVATE
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class CXTPPopupItem;
class CXTPPopupItemText;
class CXTPPopupItemIcon;
class CXTPPopupControl;
//===========================================================================
// Summary:
// CXTPPopupPaintManager is a class used to perform specialized
// drawing tasks.
//===========================================================================
class _XTP_EXT_CLASS CXTPPopupPaintManager
{
public:
//-----------------------------------------------------------------------
// Summary:
// Constructs a CXTPPopupPaintManager object.
//-----------------------------------------------------------------------
CXTPPopupPaintManager();
//-----------------------------------------------------------------------
// Summary:
// Destroys a CXTPPopupPaintManager object.
//-----------------------------------------------------------------------
virtual ~CXTPPopupPaintManager();
public:
//-----------------------------------------------------------------------
// Summary:
// Call this member function will draw the background of popup window.
// Parameters:
// pDC - Points to the device context.
// rcClient - Size of area to fill.
// pControl - Popup control to draw
//-----------------------------------------------------------------------
virtual void DrawBackground(CDC* pDC, CXTPPopupControl* pControl, CRect rcClient);
//-----------------------------------------------------------------------
// Summary:
// Call this member function will draw the controlled item object
// of popup window.
// Parameters:
// pDC - Points to the device context.
// pItem - point to CXTPPopupItem object.
//-----------------------------------------------------------------------
void DrawItem(CDC* pDC, CXTPPopupItem* pItem);
//-----------------------------------------------------------------------
// Summary:
// Call this method to draw the rectangle of a button.
// Parameters:
// pDC - Points to the device context.
// pItem - Pointer to a CXTPPopupItem.
//-----------------------------------------------------------------------
void DrawButton(CDC* pDC, CXTPPopupItem* pItem);
//-----------------------------------------------------------------------
// Summary:
// Sets font for text used in Popup control.
// Parameters:
// hFont - Font handle to use.
//-----------------------------------------------------------------------
void SetFont(HFONT hFont);
//-----------------------------------------------------------------------
// Summary:
// Call this member function to refresh draw metrics.
//-----------------------------------------------------------------------
virtual void RefreshMetrics();
public:
CXTPPaintManagerColorGradient m_clrBackground; //gradient background color
CXTPPaintManagerColorGradient m_clrFrame; //3d frame color
CFont m_fntText; //default font of text
COLORREF m_clrText; //default color of text
COLORREF m_clrButtonSelected; //color of selected button
COLORREF m_clrButtonPressed; //color of pressed button
CXTPPaintManagerColorGradient m_clrButtonSelectedBorder; //3d border color of selected button
CXTPPaintManagerColorGradient m_clrButtonPressedBorder; //3d border color of pressed button
};
//===========================================================================
// Summary:
// CXTPPopupThemeOffice2000 is a class used to perform Office2000
// drawing tasks.
//===========================================================================
class _XTP_EXT_CLASS CXTPPopupThemeOffice2000 : public CXTPPopupPaintManager
{
public:
//-----------------------------------------------------------------------
// Summary:
// Constructs a CXTPPopupThemeOffice2000 object.
//-----------------------------------------------------------------------
CXTPPopupThemeOffice2000();
//-----------------------------------------------------------------------
// Summary:
// Destroys a CXTPPopupThemeOffice2000 object.
//-----------------------------------------------------------------------
virtual ~CXTPPopupThemeOffice2000();
public:
//-----------------------------------------------------------------------
// Summary:
// Call this member function to refresh draw metrics.
//-----------------------------------------------------------------------
void RefreshMetrics();
//-----------------------------------------------------------------------
// Summary:
// Call this member function will draw the background of popup window.
// Parameters:
// pDC - Points to the device context.
// rcClient - Size of area to fill.
// pControl - Popup control to draw
//-----------------------------------------------------------------------
virtual void DrawBackground(CDC* pDC, CXTPPopupControl* pControl, CRect rcClient);
};
//===========================================================================
// Summary:
// CXTPPopupThemeOfficeXP is a class used to perform OfficeXP
// drawing tasks.
//===========================================================================
class _XTP_EXT_CLASS CXTPPopupThemeOfficeXP : public CXTPPopupThemeOffice2000
{
public:
//-----------------------------------------------------------------------
// Summary:
// Constructs a CXTPPopupThemeOfficeXP object.
//-----------------------------------------------------------------------
CXTPPopupThemeOfficeXP();
//-----------------------------------------------------------------------
// Summary:
// Destroys a CXTPPopupThemeOfficeXP object.
//-----------------------------------------------------------------------
virtual ~CXTPPopupThemeOfficeXP();
public:
//-----------------------------------------------------------------------
// Summary:
// Call this member function to refresh draw metrics.
//-----------------------------------------------------------------------
void RefreshMetrics();
//-----------------------------------------------------------------------
// Summary:
// Call this member function will draw the background of popup window.
// Parameters:
// pDC - Points to the device context.
// rcClient - Size of area to fill.
// pControl - Popup control to draw
//-----------------------------------------------------------------------
virtual void DrawBackground(CDC* pDC, CXTPPopupControl* pControl, CRect rcClient);
};
//===========================================================================
// Summary:
// CXTPPopupThemeOffice2003 is a class used to perform Office2003
// drawing tasks.
//===========================================================================
class _XTP_EXT_CLASS CXTPPopupThemeOffice2003 : public CXTPPopupThemeOfficeXP
{
public:
//-----------------------------------------------------------------------
// Summary:
// Constructs a CXTPPopupThemeOffice2003 object.
//-----------------------------------------------------------------------
CXTPPopupThemeOffice2003();
//-----------------------------------------------------------------------
// Summary:
// Destroys a CXTPPopupThemeOffice2003 object.
//-----------------------------------------------------------------------
virtual ~CXTPPopupThemeOffice2003();
public:
//-----------------------------------------------------------------------
// Summary:
// Call this member function to refresh draw metrics.
//-----------------------------------------------------------------------
void RefreshMetrics();
//-----------------------------------------------------------------------
// Summary:
// Call this member function will draw the background of popup window.
// Parameters:
// pDC - Points to the device context.
// rcClient - Size of area to fill.
// pControl - Popup control to draw
//-----------------------------------------------------------------------
virtual void DrawBackground(CDC* pDC, CXTPPopupControl* pControl, CRect rcClient);
public:
CXTPPaintManagerColorGradient m_clrGripper; // Color of the popup gripper for the xtpPopupThemeOffice2003 paint theme.
};
//===========================================================================
// Summary:
// CXTPPopupThemeMSN is a class used to perform MSN Messenger
// drawing tasks.
//===========================================================================
class _XTP_EXT_CLASS CXTPPopupThemeMSN : public CXTPPopupThemeOffice2000
{
public:
//-----------------------------------------------------------------------
// Summary:
// Constructs a CXTPPopupThemeMSN object.
//-----------------------------------------------------------------------
CXTPPopupThemeMSN();
//-----------------------------------------------------------------------
// Summary:
// Destroys a CXTPPopupThemeMSN object.
//-----------------------------------------------------------------------
virtual ~CXTPPopupThemeMSN();
public:
//-----------------------------------------------------------------------
// Summary:
// Call this member function to refresh draw metrics.
//-----------------------------------------------------------------------
void RefreshMetrics();
//-----------------------------------------------------------------------
// Summary:
// Call this member function will draw the background of popup window.
// Parameters:
// pDC - Points to the device context.
// rcClient - Size of area to fill.
// pControl - Popup control to draw
//-----------------------------------------------------------------------
virtual void DrawBackground(CDC* pDC, CXTPPopupControl* pControl, CRect rcClient);
};
//===========================================================================
// Summary:
// v is a class used to perform Office2007
// drawing tasks.
//===========================================================================
class _XTP_EXT_CLASS CXTPPopupThemeResource : public CXTPPopupThemeOffice2003
{
public:
//-----------------------------------------------------------------------
// Summary:
// Constructs a CXTPPopupThemeOffice2003 object.
//-----------------------------------------------------------------------
CXTPPopupThemeResource();
public:
//-----------------------------------------------------------------------
// Summary:
// Call this member function to refresh draw metrics.
//-----------------------------------------------------------------------
void RefreshMetrics();
};
#endif // !defined(_XTPPOPUPPAINTMANAGER_H__)