/** * @file XTPTabThemeVisualStudio2012.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(__XTPTABTHEMEVISUALSTUDIO2012_H__) # define __XTPTABTHEMEVISUALSTUDIO2012_H__ /** @endcond */ # if _MSC_VER > 1000 # pragma once # endif // _MSC_VER > 1000 # include "Common/Base/Diagnostic/XTPDisableNoisyWarnings.h" /** * @brief * CXTPTabThemeVisualStudio2012 implements a Visual Studio 2012 tab appearance. */ class _XTP_EXT_CLASS CXTPTabThemeVisualStudio2012 : public CXTPTabThemeFlat { public: CXTPTabThemeVisualStudio2012(); /** * @brief * Refreshes the appearance metrics. * Override this member to change the appearance metrics. * @details * This method is used to refresh the appearance metrics * such as font, button height, margin size, etc. */ virtual void RefreshMetrics(); /** * @brief * Draws a single tab button in the tab client header area. * @param pDC Pointer to a valid device context. * @param pItem Pointer to the tab button to draw. * @details * This method is only used to draw the tab button. This method does not * draw the button's icon or text. * * DrawSingleButton calls CXTPTabPaintManager::DrawSingleButtonIconAndText * after the button is drawn to draw the button's icon and text. * @see * CXTPTabPaintManager::DrawTabControlEx, * CXTPTabPaintManager::DrawSingleButtonIconAndText */ virtual void DrawSingleButton(CDC* pDC, CXTPTabManagerItem* pItem); /** * @brief * Draws a specified TabMDIClient TabWorkspace part. * @param pDC Pointer to a valid device context. * @param lpRect Size of the splitter. * @param workspacePart TabWorkspace part to be drawn; one of the values * defined by the XTPTabWorkspacePart enumeration. * @details * This method is used when drawing the TabWorkspace of * MDI tabs when tab grouping is enabled. * * If workspacePart is XTPTabWorkspacePartHSplitter, then lpRect refers to * the size of the splitter placed between horizontal tab groups. * * If workspacePart is XTPTabWorkspacePartVSplitter, then lpRect refers to * the size of the splitter placed between vertical tab groups. * * If workspacePart is XTPTabWorkspacePartWidth, then this is * the size of the splitter. * @see * XTPTabWorkspacePart */ virtual void DrawWorkspacePart(CDC* pDC, LPRECT lpRect, XTPTabWorkspacePart workspacePart); /** * @brief * Gets the default value of the color set for this theme. * @return * The default value of the color set for this theme. * @see * GetSupportedColorSets */ virtual XTPTabColorStyle GetDefaultColorSet() { return xtpTabColorVisualStudio2012; } }; # include "Common/Base/Diagnostic/XTPEnableNoisyWarnings.h" /** @cond */ #endif // !defined(__XTPTABTHEMEVISUALSTUDIO2012_H__) /** @endcond */