You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
104 lines
2.7 KiB
C++
104 lines
2.7 KiB
C++
#pragma once
|
|
#include "HeaderCtrlCl.h"
|
|
// CListCtrlCl
|
|
|
|
class CItemEdit : public CEdit
|
|
{
|
|
// Construction
|
|
public:
|
|
CItemEdit();
|
|
|
|
// Attributes
|
|
public:
|
|
|
|
// Operations
|
|
public:
|
|
|
|
// Overrides
|
|
// ClassWizard generated virtual function overrides
|
|
//{{AFX_VIRTUAL(CItemEdit)
|
|
//}}AFX_VIRTUAL
|
|
|
|
// Implementation
|
|
public:
|
|
int m_iXPos;
|
|
virtual ~CItemEdit();
|
|
|
|
// Generated message map functions
|
|
protected:
|
|
//{{AFX_MSG(CItemEdit)
|
|
afx_msg void OnWindowPosChanging(WINDOWPOS FAR* lpwndpos);
|
|
//}}AFX_MSG
|
|
|
|
DECLARE_MESSAGE_MAP()
|
|
};
|
|
|
|
class CListCtrlCl : public CListCtrl
|
|
{
|
|
DECLARE_DYNAMIC(CListCtrlCl)
|
|
|
|
public:
|
|
CHeaderCtrlCl m_Header;
|
|
CListCtrlCl();
|
|
virtual ~CListCtrlCl();
|
|
|
|
protected:
|
|
DECLARE_MESSAGE_MAP()
|
|
virtual void PreSubclassWindow();
|
|
public:
|
|
virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
|
|
public:
|
|
afx_msg void OnMeasureItem(int nIDCtl, LPMEASUREITEMSTRUCT lpMeasureItemStruct);
|
|
void MeasureItem(LPMEASUREITEMSTRUCT lpMeasureItemStruct);
|
|
|
|
// Edit item 消息
|
|
afx_msg void OnBeginlabeledit(NMHDR* pNMHDR, LRESULT* pResult);
|
|
afx_msg void OnEndlabeledit(NMHDR* pNMHDR, LRESULT* pResult);
|
|
|
|
|
|
public:
|
|
// 行高
|
|
int m_nRowHeight;
|
|
int InsertColumn(int nCol, LPCTSTR lpszColumnHeading,
|
|
int nFormat = LVCFMT_LEFT, int nWidth = -1, int nSubItem = -1);
|
|
public:
|
|
// Gradient - 渐变系数,立体背景用,不用渐变设为0
|
|
void SetHeaderBKColor(int R, int G, int B, int Gradient);
|
|
public:
|
|
// 设置表头高度
|
|
void SetHeaderHeight(float Height);
|
|
CPtrList m_ptrListCol; //保存列颜色
|
|
CPtrList m_ptrListItem; //保存Item颜色表
|
|
CPtrList m_colTextColor; //保存列字体颜色
|
|
CPtrList m_ItemTextColor; //保存单元格字体颜色
|
|
bool FindColColor(int col ,COLORREF &color); //查找列颜色
|
|
bool FindItemColor(int col,int row,COLORREF &color);
|
|
bool FindColTextColor(int col,COLORREF &color); //查找列字体颜色
|
|
bool FindItemTextColor(int col,int row,COLORREF &color);
|
|
void SetColColor(int col,COLORREF color); //设置列颜色
|
|
void SetItemColor(int col,int row,COLORREF color); //设置Item颜色
|
|
void SetColTextColor(int col,COLORREF color); //设置列文本颜色
|
|
void SetItemTextColor(int col,int row,COLORREF color);
|
|
void SetRowHeigt(int nHeight); //设置行高
|
|
void SetHeaderFontHW(int nHeight,int nWith); //设置表头字体大小
|
|
void SetHeaderTextColor(COLORREF color);
|
|
COLORREF m_color;
|
|
BOOL SetTextColor(COLORREF cr);
|
|
void SetFontHW(int nHeight,int nWith); //设置字体的高和宽
|
|
public:
|
|
// 字体高度
|
|
int m_fontHeight;
|
|
public:
|
|
// 字体宽度
|
|
int m_fontWith;
|
|
|
|
int m_iSubItem; //子项标识符
|
|
int m_iItem; //主项标识符
|
|
CItemEdit m_edtItemEdit; // 用于子类化EditLabel函数返回的CEdit*指针
|
|
|
|
afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);
|
|
afx_msg void OnPaint();
|
|
};
|
|
|
|
|