MyColorList.h
上传用户:jzscgs158
上传日期:2022-05-25
资源大小:8709k
文件大小:2k
源码类别:

百货/超市行业

开发平台:

Visual C++

  1. //-----------------------------------------------------设计人:牛文平
  2. #ifndef AFX_MYCOLORLISTCTRL_H__9FC7D36B_FC88_42FD_8DAA_2F70016038BA__INCLUDED_
  3. #define AFX_MYCOLORLISTCTRL_H__9FC7D36B_FC88_42FD_8DAA_2F70016038BA__INCLUDED_
  4. #include "MyHeaderCtrl.h"
  5. #include <comdef.h>
  6. //Item的颜色设置
  7. struct CMyColor
  8. {
  9. COLORREF colText;
  10. COLORREF colBack;
  11. COLORREF colSelect;
  12. };
  13. class CMyColorList : public CListCtrl
  14. {
  15. //存储ITEM的颜色数组
  16. CObArray m_ArrayCol;
  17. //存储列的对齐方式
  18. CStringArray m_ArrayHeaderAlign;
  19. public:
  20. CMyColorList();
  21. //列头的重绘
  22. CMyHeaderCtrl m_ctlHeader;
  23. //设置是否可选
  24. BOOL m_blnSelect;
  25. //设置列头
  26. void SetHeader();
  27. //添加一项
  28.     int AddItem(int image,COLORREF colText);
  29. //添加一项
  30.     int AddItem(int image,COLORREF colText,COLORREF colBack,COLORREF colSelect);
  31. //设置ITEM的颜色
  32. void SetItemColor(int nitem,COLORREF colText,COLORREF colBack,COLORREF colSelect);
  33. void SetItemColor(int nitem,COLORREF colText);
  34. //返回ITEM的颜色
  35. CMyColor GetItemColor(int nitem);
  36. public:
  37. virtual ~CMyColorList();
  38. virtual void PreSubclassWindow();
  39. virtual void DeleteAllItems();
  40. virtual void DeleteItem(int nItem);
  41. virtual void InsertColumn(int nCol, LPCTSTR lpszColumnHeading, int nFormat /* = LVCFMT_LEFT */, int nWidth /* = -1 */, int nSubItem /* = -1 */);
  42. virtual void InsertItem(int nItem, LPCTSTR lpszItem, int nImage);
  43. protected:
  44. virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
  45. //{{AFX_MSG(CMyColorList)
  46. afx_msg void OnPaint();
  47. afx_msg void OnDestroy();
  48. afx_msg void OnKillFocus(CWnd* pNewWnd);
  49. afx_msg void OnSetFocus(CWnd* pOldWnd);
  50. //}}AFX_MSG
  51. DECLARE_MESSAGE_MAP()
  52. };
  53. #endif // AFX_COLORLISTCTRL_H__9FC7D36B_FC88_42FD_8DAA_2F70016038BA__INCLUDED_