colorbtn.h
上传用户:sz27991729
上传日期:2007-01-01
资源大小:13k
文件大小:2k
源码类别:

按钮控件

开发平台:

Visual C++

  1. #ifndef __COLORBTN_H__
  2. #define __COLORBTN_H__
  3. /////////////////////////////////////////////////////////////////////////////
  4. // colorBtn.h : header file for the CColorButton class
  5. //
  6. // Written by Bob Ryan (ryan@cyberzone.net)
  7. // Copyright (c) 1998.
  8. //
  9. // This code may be freely distributable in any application.  If
  10. // you make any changes to the source, please let me know so that
  11. // I might make a better version of the class.
  12. //
  13. // This file is provided "as is" with no expressed or implied warranty.
  14. // The author accepts no liability for any damage/loss of business that
  15. // this product may cause.
  16. //
  17. /////////////////////////////////////////////////////////////////////////////
  18. class CColorButton : public CButton
  19. {
  20. DECLARE_DYNAMIC(CColorButton)
  21. public:
  22. CColorButton(); 
  23. virtual ~CColorButton(); 
  24. BOOL Attach(const UINT nID, CWnd* pParent, 
  25. const COLORREF BGColor = RGB(192, 192, 192), // gray button
  26. const COLORREF FGColor = RGB(1, 1, 1), // black text 
  27. const COLORREF DisabledColor = RGB(128, 128, 128), // dark gray disabled text
  28. const UINT nBevel = 2
  29. );
  30. protected:
  31. virtual void DrawItem(LPDRAWITEMSTRUCT lpDIS);
  32. void DrawFrame(CDC *DC, CRect R, int Inset);
  33. void DrawFilledRect(CDC *DC, CRect R, COLORREF color);
  34. void DrawLine(CDC *DC, CRect EndPoints, COLORREF color);
  35. void DrawLine(CDC *DC, long left, long top, long right, long bottom, COLORREF color);
  36. void DrawButtonText(CDC *DC, CRect R, const char *Buf, COLORREF TextColor);
  37. COLORREF GetFGColor() { return m_fg; }
  38. COLORREF GetBGColor() { return m_bg; }
  39.     COLORREF GetDisabledColor() { return m_disabled; }
  40. UINT GetBevel() { return m_bevel; }
  41. private:
  42. COLORREF m_fg, m_bg, m_disabled;
  43. UINT m_bevel;
  44. };
  45. #endif