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

对话框与窗口

开发平台:

Visual C++

  1. // AppearanceSetEclipse.cpp: implementation of the CAppearanceSetEclipse class.
  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. #include "stdafx.h"
  21. #include "GUI_Eclipse.h"
  22. #include "AppearanceSetEclipse.h"
  23. #ifdef _DEBUG
  24. #undef THIS_FILE
  25. static char THIS_FILE[]=__FILE__;
  26. #define new DEBUG_NEW
  27. #endif
  28. //////////////////////////////////////////////////////////////////////
  29. // Construction/Destruction
  30. //////////////////////////////////////////////////////////////////////
  31. CRect CEclipseTabPaintManager::CAppearanceSetEclipse::FillTabControl(CXTPTabManager* pTabManager, CDC* pDC, CRect rcControl)
  32. {
  33. pDC->FillSolidRect(rcControl, XTPPaintManager()->GetXtremeColor(XPCOLOR_3DFACE));
  34. CRect rcHeader = GetHeaderRect(rcControl, pTabManager);
  35. GetColorSet()->FillHeader(pDC, rcHeader, pTabManager);
  36. CRect rcClient = GetClientRect(rcControl, pTabManager);
  37. switch (pTabManager->GetPosition())
  38. {
  39. case xtpTabPositionTop:
  40. pDC->FillSolidRect(rcHeader.left, rcHeader.bottom - 1, rcHeader.Width(), 1, GetColorSet()->m_clrFrameBorder);
  41. break;
  42. case xtpTabPositionBottom:
  43. pDC->FillSolidRect(rcHeader.left, rcHeader.top, rcHeader.Width(), 1, GetColorSet()->m_clrFrameBorder);
  44. break;
  45. }
  46. return rcHeader;
  47. }
  48. void CEclipseTabPaintManager::CAppearanceSetEclipse::DrawSingleButton(CDC* pDC, CXTPTabManagerItem* pItem)
  49. {
  50. CRect rcItem = pItem->GetRect();
  51. if (!pItem->IsSelected())
  52. {
  53. if (pItem->GetIndex() != pItem->GetTabManager()->GetItemCount() - 1)
  54. {
  55. switch (pItem->GetTabManager()->GetPosition())
  56. {
  57. case xtpTabPositionTop:
  58. pDC->FillSolidRect(rcItem.right, rcItem.top + 1, 1, rcItem.Height() / 2, GetXtremeColor(COLOR_3DSHADOW));
  59. break;
  60. case xtpTabPositionBottom:
  61. pDC->FillSolidRect(rcItem.right, rcItem.bottom - 1 - rcItem.Height() / 2, 1, rcItem.Height() / 2, GetXtremeColor(COLOR_3DSHADOW));
  62. break;
  63. }
  64. }
  65. }
  66. else
  67. {
  68. CRect rcFill(rcItem);
  69. rcFill.DeflateRect(1, 1);
  70. pDC->Draw3dRect(rcFill, GetXtremeColor(COLOR_WINDOW), GetXtremeColor(COLOR_WINDOW));
  71. pDC->FillSolidRect(rcItem.left, rcItem.top + 1, 1, rcItem.Height() - 2, GetColorSet()->m_clrFrameBorder);
  72. pDC->FillSolidRect(rcItem.right - 1, rcItem.top + 1, 1, rcItem.Height() - 2, GetColorSet()->m_clrFrameBorder);
  73. DeflateRectEx(rcItem, CRect(2, 2, 2, 1), pItem->GetTabManager()->GetPosition());
  74. //if (((CEclipseTabPaintManager*)m_pPaintManager)->m_bFillTab)
  75. XTPDrawHelpers()->GradientFill(pDC, rcItem, GetXtremeColor(COLOR_ACTIVECAPTION), XTPPaintManager()->GetXtremeColor(XPCOLOR_TOOLBAR_FACE), TRUE);
  76. }
  77. m_pPaintManager->DrawSingleButtonIconAndText(pDC, pItem, pItem->GetRect(), TRUE);
  78. }
  79. void CEclipseTabPaintManager::DrawFrame(CDC* pDC, CRect rcControl, BOOL bFillRect)
  80. {
  81. if (bFillRect)
  82. {
  83. pDC->FillSolidRect(rcControl, XTPPaintManager()->GetXtremeColor(XPCOLOR_3DFACE));
  84. } else
  85. {
  86. pDC->FillSolidRect(rcControl.left, rcControl.top, rcControl.Width(), 4, XTPPaintManager()->GetXtremeColor(XPCOLOR_3DFACE));
  87. pDC->FillSolidRect(rcControl.left, rcControl.top, 4, rcControl.Height(), XTPPaintManager()->GetXtremeColor(XPCOLOR_3DFACE));
  88. }
  89. pDC->Draw3dRect(rcControl.left + 3, rcControl.top + 3, rcControl.Width() - 6, rcControl.Height() - 6, RGB(132, 130, 132), RGB(132, 130, 132));
  90. pDC->FillSolidRect(rcControl.left + 4, rcControl.bottom - 3, rcControl.Width() - 4, 1, RGB(143, 141, 138));
  91. pDC->FillSolidRect(rcControl.right - 3, rcControl.top + 4, 1, rcControl.Height(), RGB(143, 141, 138));
  92. pDC->FillSolidRect(rcControl.left + 5, rcControl.bottom - 2, rcControl.Width() - 4, 1, RGB(171, 168, 165));
  93. pDC->FillSolidRect(rcControl.right - 2, rcControl.top + 5, 1, rcControl.Height(), RGB(171, 168, 165));
  94. pDC->Draw3dRect(rcControl.left, rcControl.top, rcControl.Width(), rcControl.Height(), XTPPaintManager()->GetXtremeColor(XPCOLOR_3DFACE), XTPPaintManager()->GetXtremeColor(XPCOLOR_3DFACE));
  95. }
  96. void CEclipseTabPaintManager::DrawTabControl (CXTPTabManager* pTabManager, CDC* pDC, CRect rcControl)
  97. {
  98. CXTPTabPaintManager::DrawTabControl(pTabManager, pDC, rcControl);
  99. if (m_bFrame)
  100. {
  101. DrawFrame(pDC, rcControl);
  102. }
  103. }