📄 listvwex.h
字号:
#if !defined(AFX_LISTVWEX_H__C016D491_4C6B_11D2_BEFB_00A0C9668EAD__INCLUDED_)
#define AFX_LISTVWEX_H__C016D491_4C6B_11D2_BEFB_00A0C9668EAD__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// ListVwEx.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CListVwEx view
#include "mylistctrl.h"
#include "ListEditView.h"
#include "SubEdit.h" // Added by ClassView
class CListVwEx : public CListEditView
{
protected:
CListVwEx(DWORD dwMyStyle = LVS_REPORT);// = LVS_NOSORTHEADER); // protected constructor used by dynamic creation
DECLARE_DYNCREATE(CListVwEx)
// Attributes
protected:
BOOL m_bFullRowSel;
DWORD m_dwMyStyle;
BOOL m_bSortFirstCol;
CSubEdit m_editWnd;
int m_item;
int m_subitem;
CString m_strSubItem;
CObArray m_RowClrArray;
public:
BOOL SetFullRowSel(BOOL bFillRowSel);
BOOL GetFullRowSel();
BOOL m_bClientWidthSel;
BOOL SwapRow(int nRow1, int nRow2);
int GetColumnCount() const;
void SetColumnType(int nColumnType[])
{
memcpy(m_nColumnType,nColumnType,64*sizeof(int));
}
void SetCanEdit(BOOL bCanEdit[])
{
memcpy(m_bCanEdit,bCanEdit,64*sizeof(int));
}
void SetColumnCtrl(int nColumnCtrl[])
{
memcpy(m_nColumnCtrl,nColumnCtrl,64*sizeof(int));
}
CStringList& GetStringList(int index) {
return m_strList[index];
}
void SetView(DWORD dwView);
void SetSumNum(int nSumNum)
{
m_nSumNum = nSumNum;
}
void SetSumPos(int nSumPos[])
{
memcpy(m_nSumPos,nSumPos,m_nSumNum*sizeof(int));
}
void SetSortFirstCol(BOOL bSortFirstCol)
{
m_bSortFirstCol = bSortFirstCol;
}
void SetClrArraySize(int nSize) {
m_RowClrArray.SetSize(nSize);
}
void SetRowClr(int nRow, const COLORREF& clr) {
m_RowClrArray.SetAt(nRow, (CObject*)new COLORREF(clr));
}
// Overrides
protected:
virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CListVwEx)
public:
virtual BOOL Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext = NULL);
protected:
virtual void OnDraw(CDC* pDC); // overridden to draw this view
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
//}}AFX_VIRTUAL
// Implementation
protected:
virtual ~CListVwEx();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
static LPCTSTR MakeShortString(CDC* pDC, LPCTSTR lpszLong, int nColumnLen, int nOffset);
void RepaintSelectedItems();
// Implementation - client area width
int m_nSumNum;
int m_nSumPos[20];
int m_cxClient;
BOOL m_bCanEdit[64];
int m_nColumnCtrl[64];
CStringList m_strList[64]; // 2007.03.30
// Implementation - state icon width
int m_cxStateImageOffset;
afx_msg LRESULT OnSetImageList(WPARAM wParam, LPARAM lParam);
// Implementation - list view colors
COLORREF m_clrText;
COLORREF m_clrTextBk;
COLORREF m_clrBkgnd;
afx_msg LRESULT OnSetTextColor(WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnSetTextBkColor(WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnSetBkColor(WPARAM wParam, LPARAM lParam);
// Generated message map functions
protected:
//{{AFX_MSG(CListVwEx)
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
afx_msg void OnBeginLabelEdit(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnEndLabelEdit(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnSize(UINT nType, int cx, int cy);
afx_msg void OnSetFocus(CWnd* pOldWnd);
afx_msg void OnPaint();
afx_msg void OnKillFocus(CWnd* pNewWnd);
afx_msg void OnHeaderClicked(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);
afx_msg BOOL OnToolTipText( UINT id, NMHDR * pNMHDR, LRESULT * pResult );
afx_msg void OnClick(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnKeydown(NMHDR* pNMHDR, LRESULT* pResult);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
virtual int OnToolHitTest(CPoint point, TOOLINFO * pTI) const;
int CellRectFromPoint(CPoint & point, RECT * cellrect, int * col) const;
protected:
//sorting attributes
int m_nColumnType[64];
int m_nSortedColumn;
BOOL m_bSortAscending;
ListCompareType m_nCompareAs;
int m_nDateTimeType; //YYYYMMDD = 0, YYYY/M/D = 1, YYYY-M-D = 2
protected:
CComboBox * ComboItem( int nItem, int nSubItem);
void QuickSort(int p, int r);
int Partition(int p, int r);
COleDateTime ParseDateTime(LPCTSTR lpszDate);
//////////////////////////////////////////////////////////////////////
// Overridables
//////////////////////////////////////////////////////////////////////public:
virtual void Sort();
virtual void Sort(int nColumn, BOOL bAscending, ListCompareType nCompareAs);
virtual BOOL CompareBy(CString str1, CString str2, ListOperatorType op);
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_LISTVWEX_H__C016D491_4C6B_11D2_BEFB_00A0C9668EAD__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -