/** * @file XTPResizePropertySheet.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(__XTPRESIZEPROPERTYSHEET_H__) # define __XTPRESIZEPROPERTYSHEET_H__ /** @endcond */ # if _MSC_VER > 1000 # pragma once # endif // _MSC_VER > 1000 # include "Common/Base/Diagnostic/XTPDisableNoisyWarnings.h" /** * @brief * CXTPResizePropertySheet is a multiple inheritance class derived from * CPropertySheet and CXTPResize. CXTPResizePropertySheet is used to create * a resizable CPropertySheet type object that allows its dialog items * to be resized or moved dynamically. */ class _XTP_EXT_CLASS CXTPResizePropertySheet : public CPropertySheet , public CXTPResize { /** @cond */ DECLARE_DYNCREATE(CXTPResizePropertySheet) /** @endcond */ public: /** * @brief * Constructs a CXTPResizePropertySheet object. * @details * Styles to be added or removed can be combined by using the bitwise * OR (|) operator. It can be one or more of the following:

* xtpResizeNoSizeIcon: Do not add size icon. * xtpResizeNoHorizontal: No horizontal resizing. * xtpResizeNoVertical: No vertical resizing. * xtpResizeNoMinsize: Do not require a minimum size. * xtpResizeNoClipChildren: Do not set clip children style. * xtpResizeNoTransparentGroup: Do not set transparent style * for group boxes. * */ CXTPResizePropertySheet(); /** * @brief * Constructs a CXTPResizePropertySheet object. * @param nCaption ID of the caption to be used for the property sheet. * @param pParent Pointer to the parent window of the property sheet. If * NULL, then the parent window will be the main window of * the application. * @param nSelectPage The index of the page that will initially be on top. * Default is the first page added to the sheet. * @param nFlags Flags that are to be passed to CXTPResize that specify the * attributes of the resizing property page. They can be one * or more of the values in the Remarks section. * @details * Styles to be added or removed can be combined by using the bitwise * OR (|) operator. It can be one or more of the following:

* xtpResizeNoSizeIcon: Do not add size icon. * xtpResizeNoHorizontal: No horizontal resizing. * xtpResizeNoVertical: No vertical resizing. * xtpResizeNoMinsize: Do not require a minimum size. * xtpResizeNoClipChildren: Do not set clip children style. * xtpResizeNoTransparentGroup: Do not set transparent style * for group boxes. * */ CXTPResizePropertySheet(const UINT nCaption, CWnd* pParent = 0, const UINT nSelectPage = 0, const UINT nFlags = 0); /** * @brief * Constructs a CXTPResizePropertySheet object. * @param pszCaption Pointer to a string containing the caption to be used * for the property sheet. It cannot be NULL. * @param pParent Pointer to the parent window of the property sheet. If * NULL, then the parent window will be the main window of * the application. * @param nSelectPage The index of the page that will initially be on top. * Default is the first page added to the sheet. * @param nFlags Flags that are to be passed to CXTPResize that specify the * attributes of the resizing property page. They can be one * or more of the values in the Remarks section. * @details * Styles to be added or removed can be combined by using the bitwise * OR (|) operator. It can be one or more of the following:

* xtpResizeNoSizeIcon: Do not add size icon. * xtpResizeNoHorizontal: No horizontal resizing. * xtpResizeNoVertical: No vertical resizing. * xtpResizeNoMinsize: Do not require a minimum size. * xtpResizeNoClipChildren: Do not set clip children style. * xtpResizeNoTransparentGroup: Do not set transparent style * for group boxes. * */ CXTPResizePropertySheet(LPCTSTR pszCaption, CWnd* pParent = 0, const UINT nSelectPage = 0, const UINT nFlags = 0); protected: /** * @brief * This member function determines if the property sheet is in wizard mode. * @return * TRUE if the property sheet is in wizard mode, otherwise FALSE. */ BOOL IsWizard(); protected: /** @cond */ DECLARE_MESSAGE_MAP() //{{AFX_MSG(CXTPResizePropertySheet) virtual BOOL OnInitDialog(); afx_msg void OnSize(UINT nType, int cx, int cy); afx_msg void OnGetMinMaxInfo(MINMAXINFO* lpMMI); afx_msg void OnDestroy(); afx_msg BOOL OnPageChanging(NMHDR* pNotifyStruct, LRESULT* pResult); //}}AFX_MSG /** @endcond */ public: CXTPNoFlickerWnd m_tabCtrl; /**< Tab control. */ friend class CXTPResizePropertyPage; }; ////////////////////////////////////////////////////////////////////// /** @cond */ # ifndef PSH_WIZARD_LITE # define PSH_WIZARD_LITE 0x00400000 # endif // PSH_WIZARD_LITE AFX_INLINE BOOL CXTPResizePropertySheet::IsWizard() { return ((m_psh.dwFlags & (PSH_WIZARD | PSH_WIZARD97 | PSH_WIZARD_LITE)) != 0); } /** @endcond */ # include "Common/Base/Diagnostic/XTPEnableNoisyWarnings.h" /** @cond */ #endif // !defined(__XTPRESIZEPROPERTYSHEET_H__) /** @endcond */