|
- #ifndef LIST_CONTROL_HEAD_FILE
- #define LIST_CONTROL_HEAD_FILE
-
- #pragma once
-
- #include "ModuleManagerHead.h"
-
- //////////////////////////////////////////////////////////////////////////////////
-
- //颜色定义
- #define CR_NORMAL_TK RGB(255,255,255) //列表背景
- #define CR_NORMAL_BK RGB(255,255,255) //列表背景
-
- //排序位置
- #define SORT_POSITION_AFTER 1 //后面位置
- #define SORT_POSITION_FRONT -1 //前面位置
-
- //////////////////////////////////////////////////////////////////////////////////
-
- //颜色定义
- struct tagListItemColor
- {
- COLORREF rcTextColor; //字体颜色
- COLORREF rcBackColor; //背景颜色
- };
-
- //////////////////////////////////////////////////////////////////////////////////
-
- //列头控件
- class MODULE_MANAGER_CLASS CListHeaderCtrl : public CHeaderCtrl
- {
- //函数定义
- public:
- //构造函数
- CListHeaderCtrl();
- //析构函数
- virtual ~CListHeaderCtrl();
-
- //消息函数
- protected:
- //重画消息
- VOID OnPaint();
-
- DECLARE_MESSAGE_MAP()
- };
-
- //////////////////////////////////////////////////////////////////////////////////
-
- //列表控件
- class MODULE_MANAGER_CLASS CListControl : public CListCtrl
- {
- //状态变量
- protected:
- bool m_bAscendSort; //升序标志
-
- //组件变量
- protected:
- CListHeaderCtrl m_ListHeaderCtrl; //列头控件
-
- //函数定义
- public:
- //构造函数
- CListControl();
- //析构函数
- virtual ~CListControl();
-
- //重载函数
- public:
- //控件绑定
- virtual VOID PreSubclassWindow();
- //绘画函数
- virtual VOID DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
-
- //重置函数
- private:
- //配置列表
- virtual VOID InitListControl() = NULL;
- //子项排序
- virtual INT SortListItemData(LPARAM lParam1, LPARAM lParam2, WORD wColumnIndex) = NULL;
- //获取颜色
- virtual VOID GetListItemColor(LPARAM lParam, UINT uItemStatus, tagListItemColor & ListItemColor) = NULL;
-
- //静态函数
- protected:
- //排列函数
- static INT CALLBACK SortFunction(LPARAM lParam1, LPARAM lParam2, LPARAM lParamList);
-
- //消息映射
- protected:
- //绘画背景
- BOOL OnEraseBkgnd(CDC * pDC);
- //点击列表
- VOID OnColumnclick(NMHDR * pNMHDR, LRESULT * pResult);
-
- DECLARE_MESSAGE_MAP()
- };
-
- //////////////////////////////////////////////////////////////////////////////////
-
-
- //////////////////////////////////////////////////////////////////////////////////
-
- #endif
|