/** * @file XTPWindowPos.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(__XTPWINDOWPLACEMENT_H__) # define __XTPWINDOWPLACEMENT_H__ /** @endcond */ # if _MSC_VER > 1000 # pragma once # endif // _MSC_VER > 1000 # include "Common/Base/Diagnostic/XTPDisableNoisyWarnings.h" /** * @brief * CXTPWindowPos is a WINDOWPLACEMENT structure derived class. It extends the * WINDOWPLACEMENT structure, and is used to save and restore window position. */ class _XTP_EXT_CLASS CXTPWindowPos : public WINDOWPLACEMENT { public: /** * @brief * Constructs a CXTPWindowPos object. */ CXTPWindowPos(); public: /** * @brief * This member function will load the window specified by 'pWnd' to its * previous window position. * @param lpszWndPos If NULL, then the default entry name will be used. If * using this for MDI children or other windows, pass in * a unique string value here. This must match for both * LoadWindowPos and SaveWindowPos. * @param lpszSection A NULL-terminated string representing the registry * section where the window position is to be stored. * If NULL, then the default value is used. * @return * TRUE if successful, otherwise FALSE. */ BOOL LoadWindowPos(LPCTSTR lpszWndPos = NULL, LPCTSTR lpszSection = NULL); /** * @brief * This member function will load the window specified by 'pWnd' to its * previous window position. * @param pWnd Pointer to the CWnd* derived window to be restored to * its previous state. * @param lpszWndPos If NULL, then the default entry name will be used. If * using this for MDI children or other windows, pass in * a unique string value here. This must match for both * LoadWindowPos and SaveWindowPos. * @param lpszSection A NULL-terminated string representing the registry * section where the window position is to be stored. * If NULL, then the default value is used. * @return * TRUE if successful, otherwise FALSE. */ BOOL LoadWindowPos(CWnd* pWnd, LPCTSTR lpszWndPos = NULL, LPCTSTR lpszSection = NULL); /** * @brief * This member function will save the window specified by 'pWnd' by its * current window position. * @param pWnd Pointer to the CWnd* derived windows positon to be saved. * @param lpszWndPos If NULL, then the default entry name will be used. If * using this for MDI children or other windows, pass in * a unique string value here. This must match for both * LoadWindowPos and SaveWindowPos. * @param lpszSection A NULL-terminated string representing the registry * section where the window position is to be stored. * If NULL, then the default value is used. * @return * TRUE if successful, otherwise FALSE. */ BOOL SaveWindowPos(CWnd* pWnd, LPCTSTR lpszWndPos = NULL, LPCTSTR lpszSection = NULL); }; # include "Common/Base/Diagnostic/XTPEnableNoisyWarnings.h" /** @cond */ #endif // #if !defined(__XTPWINDOWPLACEMENT_H__) /** @endcond */