⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 listvwex.h

📁 我上载了那么多怎么都说已经有上载的啦
💻 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 + -