PALETTE.CPP
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:2k
源码类别:

Windows编程

开发平台:

Visual C++

  1. // palette.cpp : implementation of the Floating tool palette class
  2. //
  3. // This is a part of the Microsoft Foundation Classes C++ library.
  4. // Copyright (C) 1992-1998 Microsoft Corporation
  5. // All rights reserved.
  6. //
  7. // This source code is only intended as a supplement to the
  8. // Microsoft Foundation Classes Reference and related
  9. // electronic documentation provided with the library.
  10. // See these sources for detailed information regarding the
  11. // Microsoft Foundation Classes product.
  12. #include "stdafx.h"
  13. #include "ctrlbars.h"
  14. #include "palette.h"
  15. #ifdef _DEBUG
  16. #undef THIS_FILE
  17. static char BASED_CODE THIS_FILE[] = __FILE__;
  18. #endif
  19. /////////////////////////////////////////////////////////////////////////////
  20. // CPaletteBar
  21. BEGIN_MESSAGE_MAP(CPaletteBar, CToolBar)
  22. //{{AFX_MSG_MAP(CPaletteBar)
  23. //}}AFX_MSG_MAP
  24. END_MESSAGE_MAP()
  25. /////////////////////////////////////////////////////////////////////////////
  26. // CPaletteBar construction/destruction
  27. CPaletteBar::CPaletteBar()
  28. {
  29. m_nColumns = 2;
  30. m_cxLeftBorder = 5;
  31. m_cyTopBorder = 5;
  32. m_cxRightBorder = 5;
  33. m_cyBottomBorder = 5;
  34. }
  35. CPaletteBar::~CPaletteBar()
  36. {
  37. }
  38. /////////////////////////////////////////////////////////////////////////////
  39. // CPaletteBar diagnostics
  40. #ifdef _DEBUG
  41. void CPaletteBar::AssertValid() const
  42. {
  43. CToolBar::AssertValid();
  44. }
  45. void CPaletteBar::Dump(CDumpContext& dc) const
  46. {
  47. CToolBar::Dump(dc);
  48. }
  49. #endif //_DEBUG
  50. /////////////////////////////////////////////////////////////////////////////
  51. // CPaletteBar message handlers
  52. void CPaletteBar::SetColumns(UINT nColumns)
  53. {
  54. m_nColumns = nColumns;
  55. int nCount = GetToolBarCtrl().GetButtonCount();
  56. for (int i = 0; i < nCount; i++)
  57. {
  58. UINT nStyle = GetButtonStyle(i);
  59. BOOL bWrap = (((i + 1) % nColumns) == 0);
  60. if (bWrap)
  61. nStyle |= TBBS_WRAPPED;
  62. else
  63. nStyle &= ~TBBS_WRAPPED;
  64. SetButtonStyle(i, nStyle);
  65. }
  66. Invalidate();
  67. GetParentFrame()->RecalcLayout();
  68. }