/** * @file XTPTrackThemeOffice2003.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(__XTPTRACKTHEMEOffice2003_H__) # define __XTPTRACKTHEMEOffice2003_H__ /** @endcond */ # if _MSC_VER > 1000 # pragma once # endif // _MSC_VER > 1000 # include "Common/Base/Diagnostic/XTPDisableNoisyWarnings.h" /** * @brief * CXTPTrackThemeOffice2003 is a CXTPTrackPaintManager derived * class that represents an Office 2003 style theme. */ class _XTP_EXT_CLASS CXTPTrackThemeOffice2003 : public CXTPTrackPaintManager { public: /** * @brief * Default paint manager constructor, handles properties initialization. */ CXTPTrackThemeOffice2003(); /** * @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 a column header with all related attributes (sort order, icon, etc.). * @param pDC Pointer to the used device context. * @param pColumn Pointer to column header area rectangle coordinates. * @param pHeader Pointer to the grid header. * @param rcColumn Column area rectangle coordinates. * @param bDrawExternal TRUE to draw the column above the header; * the default value for this parameter is FALSE. * @param nShadowWidth Size in pixels for the bottom shadow; * the default value for this parameter is 0. * * Example: *
* CXTPGridPaintManager* pPaintManager = m_pControl->GetPaintManager(); * CXTPGridColumn* pColumn = CXTPGridColumn* pColumn = m_pColumns->GetAt(1); * CRect rcHeader(rcClient); * int nHeaderHeight = m_pControl->GetHeaderHeight(); * rcHeader.bottom = rcHeader.top + nHeaderHeight; * GetPaintManager()->DrawColumn(pDC, pColumn, this, rcHeader); **/ virtual void DrawColumn(CDC* pDC, CXTPGridColumn* pColumn, CXTPGridHeader* pHeader, CRect rcColumn, BOOL bDrawExternal = FALSE, int nShadowWidth = 0); /** * @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(__XTPTRACKTHEMEOffice2003_H__) /** @endcond */