📄 thclistview.h
字号:
//Tang.H.C 2002-5-13
#ifndef __THCLISTVIEW_H__
#define __THCLISTVIEW_H__
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
#include <afxcview.h>
#include "SortableHeaderCtrl.h"
#include "SortClass.h"
#define THCMAXCOLNUM 20//
/////////////////////////////////////////////////////////////////////////////
// CThcListView window
class CThcListView : public CListView
{
DECLARE_DYNCREATE(CThcListView)
// Construction
public:
CThcListView();
// Attributes
public:
// Operations
public:
//////////////////////////////////////////////////////////////////////////////////////
/*功能:初始化列表头宽度和字符串 (必须初始化)
参数:
nCols:列表头总数
nWidth:指向列表头宽度数组起始地址的指针
strcol:指向列表头字符串数组起始地址的指针*/
void BuildColumns(int nCols, int *nWidth, CString *strcol);
//////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////
/*功能:设置各列排序的数据类型 (视具体情况)
参数:
iColIndex:是设置排序列的序号(base 0)
iSortType:设置排序列的数据类型(0:INT,1:STRING,2:DATETIME,3,FLOAT)
*/
void SetColSortDataType(int iColIndex, int iSortType);
//////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////
/*功能:设置特定列排序 (视具体情况)
参数:
iColIndex:设置排序列的序号(base 0)
bAscSort: 设置排序方式
注意:默认为升序*/
void SetColSort(int iColIndex, bool bAscSort=true);
//////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////
/*功能:设置列表视打印标题 (建议设置合适的标题)
参数:标题字符串名
注意:列表视打印标题默认为“业务列表统计”*/
void SetPrintHeadline(CString str);
//////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////
/*功能:设置列表视打印字体 (无特殊情况,不必重载)
参数:无
注意:列表视打印字体默认为“Arial”,size:18*/
virtual void SetListViewPrintFont();
//////////////////////////////////////////////////////////////////////////////////////
protected:
LOGFONT m_logfont;
UINT m_DataTypeFlag[THCMAXCOLNUM];
CString m_sTitle;
int m_iCurPage;
int m_iHpage;//,*/Vpage;
int m_iVnumber;
int m_iXnumber[10];
int m_iColNum;
int m_iColumnWidth[THCMAXCOLNUM];//thc->unit:pixel
int MaxHPage(CDC *pDC,LOGFONT logfont,int nColumn,int *ColumnWidth,int *xnumber);
int MaxVPage(CDC *pDC,LOGFONT logfont,int &vnumber);
void PrintText(CDC *pDC,CListCtrl &ctlList,LOGFONT logfont,int nColumn,int *ColumnWidth,int Curpage,int Hpage,int *xnumber,int vnumber,int *AlignText,CString strtext);
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CThcListView)
public:
virtual void OnInitialUpdate();
protected:
virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo);
virtual void OnDraw(CDC* pDC);
virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo);
virtual BOOL OnPreparePrinting(CPrintInfo* pInfo);
virtual void OnPrint(CDC* pDC, CPrintInfo* pInfo);
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
virtual void OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint);
//}}AFX_VIRTUAL
// Implementation
public:
virtual ~CThcListView();
// Generated message map functions
protected:
CSortableHeaderCtrl m_HeaderCtrl;
//{{AFX_MSG(CThcListView)
afx_msg void OnItemclick(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnDestroy();
//}}AFX_MSG
//afx_msg void OnFilePrint();
//afx_msg void OnFilePrintPreview();
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Developer Studio will insert additional declarations immediately before the previous line.
#endif // __THCLISTVIEW_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -