home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / msdn_vcb / samples / vc98 / mfc / general / docktool / palette.cpp < prev    next >
C/C++ Source or Header  |  1998-03-26  |  2KB  |  84 lines

  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.  
  13. #include "stdafx.h"
  14. #include "palette.h"
  15.  
  16. #ifdef _DEBUG
  17. #undef THIS_FILE
  18. static char BASED_CODE THIS_FILE[] = __FILE__;
  19. #endif
  20.  
  21. /////////////////////////////////////////////////////////////////////////////
  22. // CPaletteBar
  23.  
  24. BEGIN_MESSAGE_MAP(CPaletteBar, CToolBar)
  25.     //{{AFX_MSG_MAP(CPaletteBar)
  26.     //}}AFX_MSG_MAP
  27. END_MESSAGE_MAP()
  28.  
  29. /////////////////////////////////////////////////////////////////////////////
  30. // CPaletteBar construction/destruction
  31.  
  32. CPaletteBar::CPaletteBar()
  33. {
  34.     m_nColumns = 2;
  35.     m_cxLeftBorder = 5;
  36.     m_cxRightBorder = 5;
  37.     m_cyTopBorder = 5;
  38.     m_cyBottomBorder = 5;
  39. }
  40.  
  41. CPaletteBar::~CPaletteBar()
  42. {
  43. }
  44.  
  45. /////////////////////////////////////////////////////////////////////////////
  46. // CPaletteBar diagnostics
  47.  
  48. #ifdef _DEBUG
  49. void CPaletteBar::AssertValid() const
  50. {
  51.     CToolBar::AssertValid();
  52. }
  53.  
  54. void CPaletteBar::Dump(CDumpContext& dc) const
  55. {
  56.     CToolBar::Dump(dc);
  57. }
  58.  
  59. #endif //_DEBUG
  60.  
  61. /////////////////////////////////////////////////////////////////////////////
  62. // CPaletteBar message handlers
  63.  
  64. void CPaletteBar::SetColumns(UINT nColumns)
  65. {
  66.     m_nColumns = nColumns;
  67.     int nCount = GetToolBarCtrl().GetButtonCount();
  68.  
  69.     for(int i = 0; i < nCount; i++)
  70.     {
  71.         UINT nStyle = GetButtonStyle(i);
  72.         BOOL bWrap = (((i + 1) % nColumns) == 0);
  73.         if (bWrap)
  74.             nStyle |= TBBS_WRAPPED;
  75.         else
  76.             nStyle &= ~TBBS_WRAPPED;
  77.  
  78.         SetButtonStyle(i, nStyle);
  79.     }
  80.  
  81.     Invalidate();
  82.     GetParentFrame()->RecalcLayout();
  83. }
  84.