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

对话框与窗口

开发平台:

Visual C++

  1. // Themes.h
  2. //
  3. // This file is a part of the XTREME TOOLKIT PRO 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. #pragma once
  21. class CCustomMacTheme : public CXTPDefaultTheme
  22. {
  23. protected:
  24. void FillCommandBarEntry(CDC* pDC, CXTPCommandBar* pBar);
  25. void FillDockBar(CDC* pDC, CXTPDockBar* pBar);
  26. void FillStatusBar(CDC* pDC, CXTPStatusBar* pBar);
  27. private:
  28. void _FillRect(CDC* pDC, CRect rc, int nTop);
  29. };
  30. class CCustomGrayTheme : public CXTPDefaultTheme
  31. {
  32. protected:
  33. void FillCommandBarEntry(CDC* pDC, CXTPCommandBar* pBar);
  34. void FillDockBar(CDC* pDC, CXTPDockBar* pBar);
  35. void FillStatusBar(CDC* pDC, CXTPStatusBar* pBar);
  36. CSize DrawCommandBarGripper(CDC* pDC, CXTPCommandBar* pBar, BOOL bDraw = TRUE);
  37. virtual void DrawRectangle(CDC* pDC, CRect rc, BOOL bSelected, BOOL bPressed, BOOL bEnabled, BOOL bChecked, BOOL bPopuped, XTPBarType barType, XTPBarPosition barPosition);
  38. };
  39. class CCustomGradientTheme : public CXTPDefaultTheme
  40. {
  41. protected:
  42. virtual void FillCommandBarEntry(CDC* pDC, CXTPCommandBar* pBar);
  43. virtual void DrawRectangle(CDC* pDC, CRect rc, BOOL bSelected, BOOL bPressed, BOOL bEnabled, BOOL bChecked, BOOL bPopuped, XTPBarType barType, XTPBarPosition barPosition);
  44. virtual void AdjustExcludeRect(CRect& rc, CXTPControl* pControl, BOOL bVertical);
  45. };
  46. class CCustomIcyTheme : public CXTPOfficeTheme
  47. {
  48. protected:
  49. virtual void FillCommandBarEntry(CDC* pDC, CXTPCommandBar* pBar);
  50. void DrawPopupBarGripper(CDC* pDC, int x, int y, int cx, int cy, BOOL bExpanded = FALSE);
  51. CSize DrawCommandBarGripper(CDC* pDC, CXTPCommandBar* pBar, BOOL bDraw = TRUE);
  52. CSize DrawCommandBarSeparator (CDC* pDC, CXTPCommandBar* pBar, CXTPControl* pControl, BOOL bDraw = TRUE);
  53. };
  54. class CCustomFancyTheme : public CXTPOfficeTheme
  55. {
  56. public:
  57. CCustomFancyTheme();
  58. protected:
  59. virtual void FillCommandBarEntry(CDC* pDC, CXTPCommandBar* pBar);
  60. void FillDockBar(CDC* pDC, CXTPDockBar* pBar);
  61. void RefreshMetrics();
  62. };
  63. class CCustomBevelTheme : public CXTPDefaultTheme
  64. {
  65. public:
  66. CCustomBevelTheme();
  67. protected:
  68. virtual void DrawRectangle(CDC* pDC, CRect rc, BOOL bSelected, BOOL bPressed, BOOL bEnabled, BOOL bChecked, BOOL bPopuped, XTPBarType barType, XTPBarPosition barPosition);
  69. virtual void RefreshMetrics();
  70. virtual void FillCommandBarEntry(CDC* pDC, CXTPCommandBar* pBar);
  71. void AdjustExcludeRect(CRect& rc, CXTPControl* pControl, BOOL bVertical);
  72. private:
  73. void DrawUnpressedPushButton(CDC *pDC, const CRect &rect);
  74. void DrawCornerShadows(CDC *pDC, const CRect &rect);
  75. void GetColors();
  76. void DeletePens();
  77. void CreatePens();
  78. private:
  79. COLORREF m_crHilight;
  80. COLORREF m_crLiteFace;
  81. COLORREF m_crFace;
  82. COLORREF m_crLiteShadow;
  83. COLORREF m_crShadow;
  84. COLORREF m_crDkShadow;
  85. COLORREF m_crDarkDkShadow;
  86. CPen m_penShadow;
  87. CPen m_penHilight;
  88. CPen m_penLiteShadow;
  89. };
  90. class CCustomBackgroundTheme : public CXTPDefaultTheme
  91. {
  92. public:
  93. CCustomBackgroundTheme();
  94. ~CCustomBackgroundTheme();
  95. static void _FillRect(CDC* pDC, CWnd* pWnd, HBITMAP hbm);
  96. protected:
  97. void FillCommandBarEntry(CDC* pDC, CXTPCommandBar* pBar);
  98. void FillDockBar(CDC* pDC, CXTPDockBar* pBar);
  99. void RefreshMetrics();
  100. private:
  101. BOOL InitBitmaps();
  102. public:
  103. CBitmap m_bmpImageFill;
  104. };