诸暨麻将添加redis
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 
 
 
 

104 行
2.4 KiB

  1. #ifndef LIST_CONTROL_HEAD_FILE
  2. #define LIST_CONTROL_HEAD_FILE
  3. #pragma once
  4. #include "ModuleManagerHead.h"
  5. //////////////////////////////////////////////////////////////////////////////////
  6. //颜色定义
  7. #define CR_NORMAL_TK RGB(255,255,255) //列表背景
  8. #define CR_NORMAL_BK RGB(255,255,255) //列表背景
  9. //排序位置
  10. #define SORT_POSITION_AFTER 1 //后面位置
  11. #define SORT_POSITION_FRONT -1 //前面位置
  12. //////////////////////////////////////////////////////////////////////////////////
  13. //颜色定义
  14. struct tagListItemColor
  15. {
  16. COLORREF rcTextColor; //字体颜色
  17. COLORREF rcBackColor; //背景颜色
  18. };
  19. //////////////////////////////////////////////////////////////////////////////////
  20. //列头控件
  21. class MODULE_MANAGER_CLASS CListHeaderCtrl : public CHeaderCtrl
  22. {
  23. //函数定义
  24. public:
  25. //构造函数
  26. CListHeaderCtrl();
  27. //析构函数
  28. virtual ~CListHeaderCtrl();
  29. //消息函数
  30. protected:
  31. //重画消息
  32. VOID OnPaint();
  33. DECLARE_MESSAGE_MAP()
  34. };
  35. //////////////////////////////////////////////////////////////////////////////////
  36. //列表控件
  37. class MODULE_MANAGER_CLASS CListControl : public CListCtrl
  38. {
  39. //状态变量
  40. protected:
  41. bool m_bAscendSort; //升序标志
  42. //组件变量
  43. protected:
  44. CListHeaderCtrl m_ListHeaderCtrl; //列头控件
  45. //函数定义
  46. public:
  47. //构造函数
  48. CListControl();
  49. //析构函数
  50. virtual ~CListControl();
  51. //重载函数
  52. public:
  53. //控件绑定
  54. virtual VOID PreSubclassWindow();
  55. //绘画函数
  56. virtual VOID DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
  57. //重置函数
  58. private:
  59. //配置列表
  60. virtual VOID InitListControl() = NULL;
  61. //子项排序
  62. virtual INT SortListItemData(LPARAM lParam1, LPARAM lParam2, WORD wColumnIndex) = NULL;
  63. //获取颜色
  64. virtual VOID GetListItemColor(LPARAM lParam, UINT uItemStatus, tagListItemColor & ListItemColor) = NULL;
  65. //静态函数
  66. protected:
  67. //排列函数
  68. static INT CALLBACK SortFunction(LPARAM lParam1, LPARAM lParam2, LPARAM lParamList);
  69. //消息映射
  70. protected:
  71. //绘画背景
  72. BOOL OnEraseBkgnd(CDC * pDC);
  73. //点击列表
  74. VOID OnColumnclick(NMHDR * pNMHDR, LRESULT * pResult);
  75. DECLARE_MESSAGE_MAP()
  76. };
  77. //////////////////////////////////////////////////////////////////////////////////
  78. //////////////////////////////////////////////////////////////////////////////////
  79. #endif