/** * @file XTPGridThemeOffice2003Luna.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(__XTPGridThemeOffice2003Luna_H__) # define __XTPGridThemeOffice2003Luna_H__ /** @endcond */ # if _MSC_VER > 1000 # pragma once # endif // _MSC_VER > 1000 # include "Common/Base/Diagnostic/XTPDisableNoisyWarnings.h" /** * @brief * CXTPGridThemeOffice2003Luna is a CXTPGridPaintManager derived * class that represents an Office 2003 Luna style theme. */ class _XTP_EXT_CLASS CXTPGridThemeOffice2003Luna : public CXTPGridPaintManager { public: /** * @brief * Default paint manager constructor, handles properties initialization. */ CXTPGridThemeOffice2003Luna(); /** * @brief * This method is called to refresh the visual metrics of the * Grid control. */ virtual void RefreshMetrics(); /** * @brief * Fills the column footer control area by its background. * @param pDC Pointer to the used device context. * @param rcFooter Footer area rectangle coordinates. */ virtual void FillFooter(CDC* pDC, CRect rcFooter); /** * @brief * Determines if hot tracking is enabled for the current column style. * @return * TRUE if hot tracking is enabled, otherwise FALSE. * @details * Hot tracking can only be used for the xtpGridColumnOffice2003 * and xtpGridColumnExplorer styles. * @see * m_columnStyle, m_bHotTracking */ virtual BOOL IsColumHotTrackingEnabled() const; /** * @brief * This method is called to draw the background of a column using * the current column style. * @param pDC Pointer to the used device context. * @param pColumn Pointer to the column whose background must be drawn. * @param rcColumn Bounding rectangle of the column. * @param bColumnPressed TRUE if the column is pressed by the user. * @param bDraggingFromHeader TRUE if the column is being dragged from the header area. * @param pHeader Pointer to the header that the column belongs to. */ virtual void DrawColumnBackground(CDC* pDC, CXTPGridColumn* pColumn, CRect rcColumn, BOOL& bColumnPressed, BOOL& bDraggingFromHeader, CXTPGridHeader* pHeader = NULL); /** * @brief * Draws the column footer divider. * @param pDC Pointer to the used device context. * @param pColumn Pointer to column header area rectangle coordinates. * @param rcColumn Column area rectangle coordinates. */ virtual void DrawColumnFooterDivider(CDC* pDC, CXTPGridColumn* pColumn, CRect rcColumn); /** * @brief * Draws the divider between grid sections * (e.g. dividing header record rows and body rows). * @param pDC Pointer to the used device context. * @param rc Reference to rectangle coordinates. * @param dividerPosition Position of the section divider; must be one of the values * defined by the XTPGridSectionDividerPosition enumeration. * @param dividerStyle Style of the section divider; must be one of the values * defined by the XTPGridSectionDividerStyle enumeration. * @param dividerColor Color of the section divider. */ void DrawSectionDivider(CDC* pDC, const CRect& rc, XTPGridSectionDividerPosition dividerPosition, XTPGridSectionDividerStyle dividerStyle, CXTPPaintManagerColor dividerColor); }; /** @cond */ # include "Common/Base/Diagnostic/XTPEnableNoisyWarnings.h" #endif //#if !defined(__XTPGridThemeOffice2003Luna_H__) /** @endcond */