/** * @file XTPMessageBarThemeOffice2013.h * * @copyright * (c) 1998-2025 Codejock Software, All Rights Reserved. * * This source file is the property of Codejock Software and must not be * redistributed by any means without the explicit written permission of * Codejock Software. * * The use of this source code is governed by the terms and conditions specified * in the Toolkit Pro license agreement. Codejock Software grants you, as a * single software developer, the limited right to use this software on one * computer only. * * Contact Information: * support@codejock.com * http://www.codejock.com * */ /** @cond */ #if !defined(__XTPMESSAGEBARTHEMEOFFICE2013_H__) # define __XTPMESSAGEBARTHEMEOFFICE2013_H__ /** @endcond */ # if _MSC_VER > 1000 # pragma once # endif // _MSC_VER > 1000 # include "Common/Base/Diagnostic/XTPDisableNoisyWarnings.h" class CXTPPaintManager; class CXTPMessageBar; class CXTPMessageBarButton; /** * @brief * The CXTPMessageBarThemeOffice2013 class is used by the message bar * to draw an Office 2013 style message bar. */ class _XTP_EXT_CLASS CXTPMessageBarThemeOffice2013 : public CXTPMessageBarPaintManager { public: /** * @brief * Message bar constructor. * @param pPaintManager Pointer to the owner paint manager. */ CXTPMessageBarThemeOffice2013(CXTPPaintManager* pPaintManager); /** * @brief * Call to update class colors and settings. */ virtual void RefreshMetrics(); /** * @brief * Draws the message bar. * @param pDC Pointer to a valid device context. * @param pBar Points to a CXTPMessageBar object. */ virtual void FillMessageBar(CDC* pDC, CXTPMessageBar* pBar); /** * @brief * Call this member to draw a button in the message bar. * @param pDC Pointer to a valid device context. * @param pButton Button to draw. */ virtual void DrawMessageBarButton(CDC* pDC, CXTPMessageBarButton* pButton); /** * @brief * Call this member to retrieve the close button coordinates. * @param x Specifies the left position. * @param y Specifies the right position. * @param cy Specifies the height of the client area. * @return * A CRect object containing the location of the close button. */ virtual CRect GetCloseButtonRect(int x, int y, int cy); protected: CRect m_rcBorders; CXTPPaintManagerColor m_clrTextHilite; /**< Message bar text hilite color. */ CXTPPaintManagerColor m_clrButtonBack; /**< Message bar button background color. */ CXTPPaintManagerColor m_clrButtonBackHilite; /**< Message bar button background hilite color. */ CXTPPaintManagerColor m_clrButtonBackPushed; /**< Message bar button background pushed color. */ CXTPPaintManagerColor m_clrButtonBorder; /**< Message bar button border color. */ CXTPPaintManagerColor m_clrButtonBorderHilite; /**< Message bar button border hilite color. */ CXTPPaintManagerColor m_clrButtonBorderPushed; /**< Message bar button border pushed color. */ private: friend class CXTPPaintManager; }; /** @cond */ # include "Common/Base/Diagnostic/XTPEnableNoisyWarnings.h" #endif // !defined(__XTPMESSAGEBARTHEMEOFFICE2013_H__) /** @endcond */