/** * @file XTPCustomizePageOptions.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(__XTPCUSTOMIZEOPTIONSPAGE_H__) && defined(_XTP_INCLUDE_CONTROLS) # define __XTPCUSTOMIZEOPTIONSPAGE_H__ /** @endcond */ # if _MSC_VER > 1000 # pragma once # endif // _MSC_VER > 1000 # include "Common/Base/Diagnostic/XTPDisableNoisyWarnings.h" class CXTPCustomizeSheet; class CXTPCommandBars; class CXTPWinThemeWrapper; /** * @brief * CXTPGroupLine is a CStatic derived class. * It used in CXTPCustomizeOptionsPage page to draw group line static control. */ class _XTP_EXT_CLASS CXTPGroupLine : public CStatic { public: /** * @brief * Constructs a CXTPGroupLine object */ CXTPGroupLine(); ~CXTPGroupLine(); void EnableTheme(BOOL bEnable = TRUE); void SetBkColor(COLORREF clr); void SetTextColor(COLORREF clr); protected: /** @cond */ DECLARE_MESSAGE_MAP() //{{AFX_MSG(CXTPGroupLine) void OnPaint(); //}}AFX_MSG /** @endcond */ private: CXTPWinThemeWrapper* m_themeButton; BOOL m_bEnableTheme; COLORREF m_clrBack; COLORREF m_clrLine; COLORREF m_clrText; }; /** * @brief * CXTPCustomizeOptionsPage is a CPropertyPage derived class. * It represents the Options page of the Customize dialog. */ class _XTP_EXT_CLASS CXTPCustomizeOptionsPage : public CXTPPropertyPage { public: /** * @brief * Constructs a CXTPCustomizeOptionsPage object * * @param pSheet Points to a CXTPCustomizeSheet object that this page * belongs to. */ CXTPCustomizeOptionsPage(CXTPCustomizeSheet* pSheet); /** * @brief * Destroys a CXTPCustomizeOptionsPage object, handles cleanup * and deallocation. */ ~CXTPCustomizeOptionsPage(); public: /** * @brief * Retrieves parent command bars. * * @return * A pointer to a CXTPCommandBars object */ CXTPCommandBars* GetCommandBars() const; protected: /** * @brief * Adds animation string from resource * * @param nIDResource Specifies the string resource ID to add. */ void AddComboString(UINT nIDResource); protected: /** @cond */ DECLARE_MESSAGE_MAP() //{{AFX_VIRTUAL(CXTPCustomizeOptionsPage) virtual void DoDataExchange(CDataExchange* pDX); /**< DDX/DDV support*/ //}}AFX_VIRTUAL //{{AFX_MSG(CXTPCustomizeOptionsPage) afx_msg void OnCheckFullMenus(); virtual BOOL OnInitDialog(); afx_msg void OnCheckAfterdelay(); afx_msg void OnCheckLargeicons(); afx_msg void OnCheckScreenttips(); afx_msg void OnCheckShortcuts(); afx_msg void OnResetData(); afx_msg void OnAnimationChanged(); afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor); //}}AFX_MSG /** @endcond */ public: enum { IDD = XTP_IDD_PAGE_OPTIONS /**< Property page identifier*/ }; # ifdef _XTP_INCLUDE_CONTROLS COLORREF m_clrText; CXTPButton m_btnResetData; /**< Reset data*/ CXTPButton m_btnAlwaysShowFullMenus; /**< Show full menus always*/ CXTPButton m_btnShowFullAfterDelay; /**< Show menus after delay*/ CXTPButton m_btnLargeIcons; /**< Show large icons*/ CXTPButton m_btnToolBarScreenTips; /**< Show tool tips*/ CXTPButton m_btnToolBarAccelTips; /**< Show accelerators with tool tips*/ CXTPComboBox m_comboAnimationType; /**< Animation combobox*/ # else CButton m_btnResetData; /**< Reset data*/ CButton m_btnAlwaysShowFullMenus; /**< Show full menus always*/ CButton m_btnShowFullAfterDelay; /**< Show menus after delay*/ CButton m_btnLargeIcons; /**< Show large icons*/ CButton m_btnToolBarScreenTips; /**< Show tool tips*/ CButton m_btnToolBarAccelTips; /**< Show accelerators with tool tips*/ CComboBox m_comboAnimationType; /**< Animation combobox*/ # endif int m_nAnimationType; /**< Selected animation type*/ CXTPGroupLine m_wndPersonalizedGroup; /**< Personalized group line*/ CXTPGroupLine m_wndOtherGroup; /**< Other group line*/ protected: CXTPCustomizeSheet* m_pSheet; /**< Parent sheet.*/ }; /** @cond */ # include "Common/Base/Diagnostic/XTPEnableNoisyWarnings.h" #endif // !defined(__XTPCUSTOMIZEOPTIONSPAGE_H__) /** @endcond */