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

对话框与窗口

开发平台:

Visual C++

  1. // XTSplitterWndTheme.cpp: implementation of the XTSplitterWndTheme class.
  2. //
  3. // This file is a part of the XTREME CONTROLS 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. #include "stdafx.h"
  21. #include "Common/XTPWinThemeWrapper.h"
  22. #include "Common/XTPColorManager.h"
  23. #include "Common/XTPDrawHelpers.h"
  24. #include "XTThemeManager.h"
  25. #include "XTSplitterWndTheme.h"
  26. #ifdef _DEBUG
  27. #define new DEBUG_NEW
  28. #undef THIS_FILE
  29. static char THIS_FILE[] = __FILE__;
  30. #endif
  31. IMPLEMENT_THEME_FACTORY(CXTSplitterWndTheme)
  32. /////////////////////////////////////////////////////////////////////////////
  33. // CXTSplitterWndTheme
  34. CXTSplitterWndTheme::CXTSplitterWndTheme()
  35. {
  36. }
  37. void CXTSplitterWndTheme::RefreshMetrics()
  38. {
  39. CXTThemeManagerStyle ::RefreshMetrics();
  40. m_clrSplitterFace = GetSysColor(COLOR_3DFACE);
  41. m_clrSplitterBorders = GetSysColor(COLOR_3DSHADOW);
  42. }
  43. /////////////////////////////////////////////////////////////////////////////
  44. // CXTSplitterWndThemeOfficeXP
  45. void CXTSplitterWndThemeOfficeXP::RefreshMetrics()
  46. {
  47. CXTSplitterWndTheme::RefreshMetrics();
  48. }
  49. /////////////////////////////////////////////////////////////////////////////
  50. // CXTSplitterWndThemeOffice2003
  51. void CXTSplitterWndThemeOffice2003::RefreshMetrics()
  52. {
  53. CXTSplitterWndThemeOfficeXP::RefreshMetrics();
  54. if (!XTPColorManager()->IsLunaColorsDisabled())
  55. {
  56. XTPCurrentSystemTheme systemTheme = XTPColorManager()->GetCurrentSystemTheme();
  57. switch (systemTheme)
  58. {
  59. case xtpSystemThemeBlue:
  60. case xtpSystemThemeRoyale:
  61. case xtpSystemThemeAero:
  62. m_clrSplitterFace = RGB(216, 231, 252);
  63. m_clrSplitterBorders = RGB(158, 190, 245);
  64. break;
  65. case xtpSystemThemeOlive:
  66. m_clrSplitterFace = RGB(226, 231, 191);
  67. m_clrSplitterBorders = RGB(171, 192, 138);
  68. break;
  69. case xtpSystemThemeSilver:
  70. m_clrSplitterFace = RGB(223, 223, 234);
  71. m_clrSplitterBorders = RGB(177, 176, 195);
  72. break;
  73. }
  74. }
  75. }