palettebar.cpp
上传用户:ywlong9188
上传日期:2022-05-31
资源大小:2656k
文件大小:1k
源码类别:

远程控制编程

开发平台:

C/C++

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