#if !defined(AFX_UIILISTCTRL_H__4BB44CE3_DF30_4A83_BB53_396D183EBC2A__INCLUDED_) #define AFX_UIILISTCTRL_H__4BB44CE3_DF30_4A83_BB53_396D183EBC2A__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif enum EType { ET_Edit, ET_Combo, ET_Check }; #include class CUIIListCtrl : public CListCtrl { public: CUIIListCtrl(); virtual ~CUIIListCtrl(); public: BOOL SetColumnItemData(int nCol,void * pXData,EType eType); void* GetColumnItemData(int nCol,EType& eType); void DeleteXData(BOOL bDelete); public: //{{AFX_VIRTUAL(CUIIListCtrl) protected: virtual BOOL PreCreateWindow(CREATESTRUCT& cs); //}}AFX_VIRTUAL protected: //{{AFX_MSG(CUIIListCtrl) afx_msg void OnEndlabeledit(NMHDR* pNMHDR, LRESULT* pResult); afx_msg void OnClick(NMHDR* pNMHDR, LRESULT* pResult); afx_msg void OnKeydown(NMHDR* pNMHDR, LRESULT* pResult); afx_msg BOOL OnMouseWheel( UINT nFlags, short zDelta, CPoint pt ); afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar); afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar); //}}AFX_MSG DECLARE_MESSAGE_MAP() protected: CComboBox * ComboItem( int nItem, int nSubItem); CEdit * EditItem( int nItem, int nSubItem); public: void CheckItem( int nItem, int nSubItem,BOOL bCheck); BOOL GetCheck(int nItem,int nSubItem); BOOL SetItemText(int nItem, int nSubItem, LPCTSTR lpszText); BOOL SetItemText(int nItem, int nSubItem, LPCTSTR lpszText,BOOL bCheck); protected: CPtrArray m_arColXData; CMap m_mapColXData; CMap m_mapColEnum; CMap m_mapItemSubToCheck; }; //{{AFX_INSERT_LOCATION}} #endif