#if !defined(AFX_GENLISTCTRL_H__CF59F8D3_F8A7_4D9E_82B5_FD9D10E5EC24__INCLUDED_) #define AFX_GENLISTCTRL_H__CF59F8D3_F8A7_4D9E_82B5_FD9D10E5EC24__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 // GenListCtrl.h : header file // class CGenListCtrl; // // Column Headings for the list control // typedef struct _GenListCtrlHeader{ CString csText; // ??? <- Can be removed. short nType; } GenListCtrlHeader, *PGenListCtrlHeader; ///////////////////////////////////////////////////////////////////////////// // CGenListCtrl window class CGenListCtrl : public CListCtrl { PGenListCtrlHeader m_pColumnHdrArr; // Construction public: CGenListCtrl(); // Attributes public: private: BOOL m_bAscending; LONG m_lCurrentColumn; LONG m_lNumOfColumns; // Operations public: void ResizeColumnsFitScreen ( void ); void ResizeColumnsWithRatio ( void ); BOOL SelectItem ( LONG nIndex ); void BeginSetColumn ( LONG nCols ); void AddColumn ( LPCTSTR pszColumn, short type = VT_BSTR ); void EndSetColumn ( void ); LONG SetItemText ( LONG nRow, LONG nCol, LPCTSTR pszText ); static int CALLBACK CompareItems(LPARAM lParam1, LPARAM lParam2, LPARAM lParam3); // LRESULT GenCompareFunc ( NMHDR* pNMH, DWORD dwParam1, DWORD dwParam2 ); // Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CGenListCtrl) //}}AFX_VIRTUAL // Implementation public: HRESULT ResetListCtrl(); PGenListCtrlHeader GetListCtrlHeader(); BOOL IsAscending(); void SwapRows(LONG lRowLo, LONG lRowHi); BOOL BubbleSortItems( int nCol, BOOL bAscending, short nType = VT_BSTR, int nLo = 0, int nHi = -1); virtual int GenCompareFunc(LPARAM lParam1, LPARAM lParam2); LONG m_lColumnClicked; virtual ~CGenListCtrl(); // Generated message map functions protected: //{{AFX_MSG(CGenListCtrl) afx_msg void OnColumnclickRef(NMHDR* pNMHDR, LRESULT* pResult); //}}AFX_MSG DECLARE_MESSAGE_MAP() }; ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// //{{AFX_INSERT_LOCATION}} // Microsoft Visual C++ will insert additional declarations immediately before the previous line. #endif // !defined(AFX_GENLISTCTRL_H__CF59F8D3_F8A7_4D9E_82B5_FD9D10E5EC24__INCLUDED_)