palette.cpp
Upload User: dfguandao
Upload Date: 2020-06-07
Package Size: 23k
Code Size: 1k
Category:

ToolBar

Development Platform:

Visual C++

  1. #include "stdafx.h"
  2. #include "ctrlbars.h"
  3. #include "palette.h"
  4. #ifdef _DEBUG
  5. #undef THIS_FILE
  6. static char BASED_CODE THIS_FILE[] = __FILE__;
  7. #endif
  8. /////////////////////////////////////////////////////////////////////////////
  9. // CPaletteBar
  10. BEGIN_MESSAGE_MAP(CPaletteBar, CToolBar)
  11. //{{AFX_MSG_MAP(CPaletteBar)
  12. //}}AFX_MSG_MAP
  13. END_MESSAGE_MAP()
  14. /////////////////////////////////////////////////////////////////////////////
  15. // CPaletteBar construction/destruction
  16. CPaletteBar::CPaletteBar()
  17. {
  18. m_nColumns = 2;
  19. m_cxLeftBorder = 5;
  20. m_cyTopBorder = 5;
  21. m_cxRightBorder = 5;
  22. m_cyBottomBorder = 5;
  23. }
  24. CPaletteBar::~CPaletteBar()
  25. {
  26. }
  27. /////////////////////////////////////////////////////////////////////////////
  28. // CPaletteBar diagnostics
  29. #ifdef _DEBUG
  30. void CPaletteBar::AssertValid() const
  31. {
  32. CToolBar::AssertValid();
  33. }
  34. void CPaletteBar::Dump(CDumpContext& dc) const
  35. {
  36. CToolBar::Dump(dc);
  37. }
  38. #endif //_DEBUG
  39. /////////////////////////////////////////////////////////////////////////////
  40. // CPaletteBar message handlers
  41. void CPaletteBar::SetColumns(UINT nColumns)
  42. {
  43. m_nColumns = nColumns;
  44. int nCount = GetToolBarCtrl().GetButtonCount();
  45. for (int i = 0; i < nCount; i++)
  46. {
  47. UINT nStyle = GetButtonStyle(i);
  48. BOOL bWrap = (((i + 1) % nColumns) == 0);
  49. if (bWrap)
  50. nStyle |= TBBS_WRAPPED;
  51. else
  52. nStyle &= ~TBBS_WRAPPED;
  53. SetButtonStyle(i, nStyle);
  54. }
  55. Invalidate();
  56. GetParentFrame()->RecalcLayout();
  57. }