SortListCtrl.h
资源名称:p2p_vod.rar [点击查看]
上传用户:liguizhu
上传日期:2015-11-01
资源大小:2422k
文件大小:3k
源码类别:
P2P编程
开发平台:
Visual C++
- /*
- * Openmysee
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
- /*----------------------------------------------------------------------
- Copyright (C)2001 MJSoft. All Rights Reserved.
- This source may be used freely as long as it is not sold for
- profit and this copyright information is not altered or removed.
- Visit the web-site at www.mjsoft.co.uk
- e-mail comments to info@mjsoft.co.uk
- File: SortListCtrl.h
- Purpose: Provides a sortable list control, it will sort text, numbers
- and dates, ascending or descending, and will even draw the
- arrows just like windows explorer!
- ----------------------------------------------------------------------*/
- #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:
- 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