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

对话框与窗口

开发平台:

Visual C++

  1. // XTPSkinManagerResource.h: interface for the CXTPSkinManagerResourceFile class.
  2. //
  3. // This file is a part of the XTREME SKINFRAMEWORK 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(__XTPSKINMANAGERRESOURCE_H__)
  22. #define __XTPSKINMANAGERRESOURCE_H__
  23. //}}AFX_CODEJOCK_PRIVATE
  24. #if _MSC_VER > 1000
  25. #pragma once
  26. #endif // _MSC_VER > 1000
  27. class CXTPSkinImage;
  28. class CXTPSkinManagerSchema;
  29. class CXTPSkinManager;
  30. //===========================================================================
  31. // Summary:
  32. //     CXTPSkinManagerResourceFile is a standalone class that represents a
  33. //     manager of visual style resources
  34. //===========================================================================
  35. class _XTP_EXT_CLASS CXTPSkinManagerResourceFile
  36. {
  37. public:
  38. //-----------------------------------------------------------------------
  39. // Summary:
  40. //     Constructs a CXTPSkinManagerResourceFile object.
  41. //-----------------------------------------------------------------------
  42. CXTPSkinManagerResourceFile();
  43. //-----------------------------------------------------------------------
  44. // Summary:
  45. //     Destroys a CXTPSkinManagerResourceFile object, handles cleanup and deallocation.
  46. //-----------------------------------------------------------------------
  47. virtual ~CXTPSkinManagerResourceFile();
  48. public:
  49. //-----------------------------------------------------------------------
  50. // Summary:
  51. //     This method is called to open visual style file
  52. // Parameters:
  53. //     lpszResourcePath - Path to specified visual style
  54. //     lpszIniFileName  - Name of the ini file to load
  55. //-----------------------------------------------------------------------
  56. virtual BOOL Open(LPCTSTR lpszResourcePath, LPCTSTR lpszIniFileName);
  57. //-----------------------------------------------------------------------
  58. // Summary:
  59. //     This method is called to read ini file
  60. // Parameters:
  61. //     str - reference to the string used to load next line from resource file.
  62. //-----------------------------------------------------------------------
  63. virtual BOOL ReadString(CString& str);
  64. //-----------------------------------------------------------------------
  65. // Summary:
  66. //     This method is called to close visual style file
  67. //-----------------------------------------------------------------------
  68. virtual void Close();
  69. //-----------------------------------------------------------------------
  70. // Summary:
  71. //     This method is called to load image from resource file
  72. // Parameters:
  73. //     strImageFile - Path to specified image
  74. // Returns:
  75. //     New CXTPSkinImage contained loaded bitmap
  76. //-----------------------------------------------------------------------
  77. virtual CXTPSkinImage* LoadImage(CString strImageFile);
  78. //-----------------------------------------------------------------------
  79. // Summary:
  80. //     This method is called to create CXTPSkinManagerSchema class associated with loaded resources
  81. // Returns: New CXTPSkinManagerSchema class that will be used to read resource
  82. // See Also: CXTPSkinManagerSchema
  83. //-----------------------------------------------------------------------
  84. virtual CXTPSkinManagerSchema* CreateSchema();
  85. public:
  86. //-----------------------------------------------------------------------
  87. // Summary:
  88. //     Retrieves resource path
  89. //-----------------------------------------------------------------------
  90. CString GetResourcePath() const;
  91. //-----------------------------------------------------------------------
  92. // Summary:
  93. //     Retrieves resource path
  94. //-----------------------------------------------------------------------
  95. CString GetIniFileName() const;
  96. //-----------------------------------------------------------------------
  97. // Summary:
  98. //     Retrieves handle to visual style dll file handle.
  99. //-----------------------------------------------------------------------
  100. HMODULE GetModuleHandle() const;
  101. //-----------------------------------------------------------------------
  102. // Summary:
  103. //     Call this method to set module with skin
  104. // Parameters:
  105. //     hModule - New module handler to set
  106. //-----------------------------------------------------------------------
  107. void SetModuleHandle(HMODULE hModule);
  108. private:
  109. CString GetDefaultIniFileName();
  110. protected:
  111. LPWSTR m_lpTextFile;            // Pointer to next string
  112. LPWSTR m_lpTextFileEnd;         // Pointer to end of the file
  113. HMODULE m_hModule;              // Handle of the visual style
  114. HMODULE m_hInstance;            // Handle of the visual style
  115. CString m_strResourcePath;      // Resource path
  116. CString m_strIniFileName;       // Ini file name.
  117. CXTPSkinManager* m_pManager;    // Parent manager class.
  118. CStdioFile* m_pIniFile;         // POinter to ini file on disk
  119. friend class CXTPSkinManager;
  120. };
  121. AFX_INLINE CString CXTPSkinManagerResourceFile::GetIniFileName() const {
  122. return m_strIniFileName;
  123. }
  124. AFX_INLINE CString CXTPSkinManagerResourceFile::GetResourcePath() const {
  125. return m_strResourcePath;
  126. }
  127. AFX_INLINE HMODULE CXTPSkinManagerResourceFile::GetModuleHandle() const {
  128. return m_hModule;
  129. }
  130. AFX_INLINE void CXTPSkinManagerResourceFile::SetModuleHandle(HMODULE hModule) {
  131. m_hInstance = hModule;
  132. }
  133. #endif // !defined(__XTPSKINMANAGERRESOURCE_H__)