123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- #ifndef SORTLISTCTRL_H
- #define SORTLISTCTRL_H
- #if _MSC_VER > 1000
- #pragma once
- #endif // _MSC_VER > 1000
- #ifndef SORTHEADERCTRL_H
- #include "SortHeaderCtrl.h"
- #endif // SORTHEADERCTRL_H
- #ifdef _DEBUG
- #define ASSERT_VALID_STRING( str ) ASSERT( !IsBadStringPtr( str, 0xfffff ) )
- #else // _DEBUG
- #define ASSERT_VALID_STRING( str ) ( (void)0 )
- #endif // _DEBUG
- class CSortListCtrl :public CListCtrl
- {
- // Construction
- public:
- CSortListCtrl();
- // Attributes
- public:
- // Operations
- public:
- BOOL SetHeadings( UINT uiStringID );
- BOOL SetHeadings( const CString& strHeadings );
- int AddItem( LPCTSTR pszText, ... );
- BOOL DeleteItem( int iItem );
- BOOL DeleteAllItems();
- void LoadColumnInfo();
- void SaveColumnInfo();
- BOOL SetItemText( int nItem, int nSubItem, LPCTSTR lpszText );
- void Sort( int iColumn, BOOL bAscending );
- BOOL SetItemData(int nItem, DWORD dwData);
- DWORD GetItemData(int nItem) const;
- // Overrides
- // ClassWizard generated virtual function overrides
- //{{AFX_VIRTUAL(CSortListCtrl)
- protected:
- virtual void PreSubclassWindow();
- //}}AFX_VIRTUAL
- // Implementation
- public:
- void SetItemColor(int nItem, int nSubItem, COLORREF clrText, COLORREF clrBkgnd);
- void DrawText(int nItem, int nSubItem, CDC *pDC, COLORREF crText, COLORREF crBkgnd, CRect &rect);
- BOOL GetSubItemRect(int nItem, int nSubItem, int nArea, CRect& rect);
- int GetColumns();
- int AddItemColor(LPCTSTR pszText,COLORREF crText,COLORREF crBak);
- virtual ~CSortListCtrl();
- // Generated message map functions
- protected:
- void UpdateSubItem(int nItem, int nSubItem);
- static int CALLBACK CompareFunction( LPARAM lParam1, LPARAM lParam2, LPARAM lParamData );
- void FreeItemMemory( const int iItem );
- BOOL CSortListCtrl::SetArray( int iItem, LPTSTR* arrpsz ,COLORREF * clrText,COLORREF * clrBak);
- LPTSTR* CSortListCtrl::GetTextArray( int iItem ) const;
-
- CSortHeaderCtrl m_ctlHeader;
- int m_iNumColumns;
- int m_iSortColumn;
- BOOL m_bSortAscending;
- //{{AFX_MSG(CSortListCtrl)
- afx_msg void OnColumnClick(NMHDR* pNMHDR, LRESULT* pResult);
- afx_msg void OnDestroy();
- afx_msg void OnPaint();
- afx_msg void OnCustomDraw(NMHDR* pNMHDR, LRESULT* pResult);
- afx_msg void OnSysColorChange();
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
- private:
- COLORREF crWindowText,crWindow,crHighLight,crHighLightText;
- };
- //{{AFX_INSERT_LOCATION}}
- // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
- #endif // SORTLISTCTRL_H
|