text: //
  // CGRP.HPP
  // WbColorsGroup
  //
  // Copyright Microsoft 1998-
  //
  
  #ifndef CGRP_HPP
  #define CGRP_HPP
  
  
  
  #define NUMROWS			2
  #define NUMCOLS			14
  #define NUMCLRPANES		(NUMROWS*NUMCOLS + 1) // palette + current one
  #define INDEX_CHOICE    (NUMCLRPANES-1)     // last one
  #define NUMCUSTCOLORS	16
  
  #define CLRPANE_HEIGHT	16
  #define CLRPANE_WIDTH	CLRPANE_HEIGHT
  #define CLRPANE_BLACK	RGB( 0,0,0 )
  #define CLRPANE_WHITE	RGB( 255,255,255 )
  
  
  #define CLRCHOICE_HEIGHT    (NUMROWS * CLRPANE_HEIGHT)
  #define CLRCHOICE_WIDTH     CLRCHOICE_HEIGHT
  
  
  //
  // Colors window proc
  //
  class WbColorsGroup
  {
  public:
  	WbColorsGroup();
  	~WbColorsGroup();
  	virtual BOOL Create(HWND hwndParent, LPCRECT lprect);
      void    GetNaturalSize(LPSIZE lpsize);
  
  	void SaveSettings( void );
  
      COLORREF GetCurColor(void);
      void    SetCurColor(COLORREF clr);
  	void    OnEditColors( void );
  
      HWND    m_hwnd;
  
      friend  LRESULT CALLBACK CGWndProc(HWND, UINT, WPARAM, LPARAM);
  
  protected:
      void     OnPaint(void);
      void     OnLButtonDown(UINT nFlags, int x, int y);
      void     OnLButtonDblClk(UINT nFlags, int x, int y);
  
  	int      m_nLastColor;
  	COLORREF m_crColors[ NUMCLRPANES ];
  	HBRUSH   m_hBrushes[ NUMCLRPANES ];
  	COLORREF m_crCustomColors[ NUMCUSTCOLORS ];
  
  	COLORREF GetColorOfBrush( int nColor );
  	void     SetColorOfBrush( int nColor, COLORREF crNewColor );
      void     SetColorOfPane(int nColor, COLORREF clr);
  
  	COLORREF DoColorDialog( int nColor );
  	void     ClickOwner( void );
  };
  
  
  
  #endif // CGRP_HPP
  