SortListCtrl.h
上传用户:xuemeng126
上传日期:2022-07-05
资源大小:454k
文件大小:2k
- #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( int j,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;
- void OnCustomDraw(NMHDR *pnotify, LRESULT *result) ;
- // Overrides
- // ClassWizard generated virtual function overrides
- //{{AFX_VIRTUAL(CSortListCtrl)
- protected:
- virtual void PreSubclassWindow();
- //}}AFX_VIRTUAL
- // Implementation
- public:
- virtual ~CSortListCtrl();
- // Generated message map functions
- protected:
- static int CALLBACK CompareFunction( LPARAM lParam1, LPARAM lParam2, LPARAM lParamData );
- void FreeItemMemory( const int iItem );
- BOOL CSortListCtrl::SetTextArray( int iItem, LPTSTR* arrpsz );
- 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
- DECLARE_MESSAGE_MAP()
- };
- //{{AFX_INSERT_LOCATION}}
- // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
- #endif // SORTLISTCTRL_H