XTPDockState.h
上传用户:szled88
上传日期:2015-04-09
资源大小:43957k
文件大小:5k
源码类别:

对话框与窗口

开发平台:

Visual C++

  1. // XTPDockState.h : interface for the CXTPDockState class.
  2. //
  3. // This file is a part of the XTREME COMMANDBARS MFC class library.
  4. // (c)1998-2008 Codejock Software, All Rights Reserved.
  5. //
  6. // THIS SOURCE FILE IS THE PROPERTY OF CODEJOCK SOFTWARE AND IS NOT TO BE
  7. // RE-DISTRIBUTED BY ANY MEANS WHATSOEVER WITHOUT THE EXPRESSED WRITTEN
  8. // CONSENT OF CODEJOCK SOFTWARE.
  9. //
  10. // THIS SOURCE CODE CAN ONLY BE USED UNDER THE TERMS AND CONDITIONS OUTLINED
  11. // IN THE XTREME TOOLKIT PRO LICENSE AGREEMENT. CODEJOCK SOFTWARE GRANTS TO
  12. // YOU (ONE SOFTWARE DEVELOPER) THE LIMITED RIGHT TO USE THIS SOFTWARE ON A
  13. // SINGLE COMPUTER.
  14. //
  15. // CONTACT INFORMATION:
  16. // support@codejock.com
  17. // http://www.codejock.com
  18. //
  19. /////////////////////////////////////////////////////////////////////////////
  20. //{{AFX_CODEJOCK_PRIVATE
  21. #if !defined(__XTPDOCKSTATE_H__)
  22. #define __XTPDOCKSTATE_H__
  23. //}}AFX_CODEJOCK_PRIVATE
  24. #if _MSC_VER >= 1000
  25. #pragma once
  26. #endif // _MSC_VER >= 1000
  27. #include "XTPToolbar.h"
  28. //===========================================================================
  29. // Summary:
  30. //     CXTPDockState is a stand alone class. It is used internally by CXTPToolBar.
  31. //===========================================================================
  32. class _XTP_EXT_CLASS CXTPDockState
  33. {
  34. friend class CXTPCommandBars;
  35. private:
  36. //-----------------------------------------------------------------------
  37. // Summary:
  38. //     TOOLBARINFO definition
  39. //-----------------------------------------------------------------------
  40. typedef CXTPToolBar::CToolBarInfo TOOLBARINFO;
  41. public:
  42. //-----------------------------------------------------------------------
  43. // Summary:
  44. //     Maps the point from the stored coordinates to the device.
  45. // Parameters:
  46. //     pt - Specifies the point to be tested
  47. //-----------------------------------------------------------------------
  48. void ScalePoint(CPoint& pt);
  49. //-----------------------------------------------------------------------
  50. // Summary:
  51. //     Maps the point from the stored coordinates to the device.
  52. // Parameters:
  53. //     rect - A reference to a CRect object
  54. //-----------------------------------------------------------------------
  55. void ScaleRectPos(CRect& rect);
  56. //-----------------------------------------------------------------------
  57. // Summary:
  58. //     Call this function to retrieve the version number of the stored bar state
  59. //-----------------------------------------------------------------------
  60. DWORD GetVersion() const;
  61. public:
  62. //-------------------------------------------------------------------------
  63. // Summary:
  64. //     Constructs a CXTPDockState object.
  65. //-------------------------------------------------------------------------
  66. CXTPDockState();
  67. //-------------------------------------------------------------------------
  68. // Summary:
  69. //     Destroys a CXTPDockState object, handles cleanup and deallocation.
  70. //-------------------------------------------------------------------------
  71. ~CXTPDockState();
  72. public:
  73. //-----------------------------------------------------------------------
  74. // Summary:
  75. //     Call this function to save the state information to the registry or .INI file
  76. // Parameters:
  77. //     lpszProfileName - Points to a null-teminated string that specifies the name of a section
  78. //                       in the initialization file or a key in the Windows registry where state information is stored.
  79. //-----------------------------------------------------------------------
  80. void SaveState(LPCTSTR lpszProfileName);
  81. //-----------------------------------------------------------------------
  82. // Summary:
  83. //     Call this function to retrieve state information from the registry or .INI file.
  84. // Parameters:
  85. //     lpszProfileName - Points to a null-teminated string that specifies the name of a section in the initialization
  86. //                       file or a key in the Windows registry where state information is stored.
  87. //-----------------------------------------------------------------------
  88. void LoadState(LPCTSTR lpszProfileName);
  89. //-----------------------------------------------------------------------
  90. // Summary:
  91. //     Reads or writes options from or to an archive.
  92. // Parameters:
  93. //     pPX - A CXTPPropExchange object to serialize to or from.
  94. // See Also: CXTPCommandBars::DoPropExchange
  95. //-----------------------------------------------------------------------
  96. void DoPropExchange(CXTPPropExchange* pPX);
  97. private:
  98. void SaveDockBarState(LPCTSTR lpszProfileName);
  99. CSize GetScreenSize();
  100. void SetScreenSize(CSize& size);
  101. void Clear();
  102. private:
  103. DWORD m_dwVersion;
  104. CArray<TOOLBARINFO*, TOOLBARINFO*> m_arrBarInfo;
  105. BOOL m_bScaling;
  106. CSize m_sizeDevice;
  107. CSize m_sizeLogical;
  108. };
  109. AFX_INLINE DWORD CXTPDockState::GetVersion() const {
  110. return m_dwVersion;
  111. }
  112. #endif //#if !defined(__XTPDOCKSTATE_H__)