SortHeaderCtrl.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. /************************************************************************/
  2. /* Copyright (C), 2016-2020, [IT], 保留所有权利;
  3. /* 模 块 名:;
  4. /* 描 述:;
  5. /*
  6. /* 版 本:[V];
  7. /* 作 者:[IT];
  8. /* 日 期:[10/21/2016];
  9. /*
  10. /*
  11. /* 注 意:;
  12. /*
  13. /* 修改记录:[IT];
  14. /* 修改日期:;
  15. /* 修改版本:;
  16. /* 修改内容:;
  17. /************************************************************************/
  18. #ifndef __SORT_HEADER_CTRL___
  19. #define __SORT_HEADER_CTRL___
  20. #pragma once
  21. class CSortHeaderCtrl : public CHeaderCtrl
  22. {
  23. public:
  24. CSortHeaderCtrl();
  25. virtual ~CSortHeaderCtrl();
  26. public:
  27. virtual void Serialize(CArchive& ar);
  28. void SetSortArrow( IN const int nSortColumn, IN const BOOL bAscending );
  29. // 设置字体;
  30. void SetListFont(IN CString strFontName, IN int nFontSize, IN BOOL bBold = FALSE, IN BOOL bItalic = FALSE);
  31. protected:
  32. // 自绘函数;
  33. void DrawItemEx( IN LPDRAWITEMSTRUCT lpDrawItemStruct );
  34. CFont m_cfont;
  35. // 排序列;
  36. int m_nSortColumn;
  37. // 升(TRUE)降(FALSE)序;
  38. BOOL m_bSortAscending;
  39. // 列头字体颜色;
  40. COLORREF m_clrColumText;
  41. // 列头3D高亮色;
  42. COLORREF m_clr3DHighLight;
  43. // 列头3D阴影;
  44. COLORREF m_clr3DShadow;
  45. // 列头3D;
  46. COLORREF m_clr3DFace;
  47. // 是否按下鼠标;
  48. BOOL m_bPressMoused;
  49. DECLARE_MESSAGE_MAP()
  50. public:
  51. afx_msg void OnPaint();
  52. afx_msg BOOL OnEraseBkgnd(CDC* pDC);
  53. virtual BOOL PreTranslateMessage(MSG* pMsg);
  54. };
  55. #endif // __SORT_HEADER_CTRL___