www.pudn.com > WinGOS.rar > ListCtrl.h


#ifndef _GOS_LISTCTRL_H_ 
#define _GOS_LISTCTRL_H_ 
 
enum _tagListCtrl 
{ 
	LVS_ALGINNONE=0x0000L, 
	LVS_ALGINLEFT=0x0001L, 
	LVS_ALGINTOP=0x0002L, 
	LVS_ALGINFILL=0x0003L, 
	LVS_SINGLEROWCOL=0x0004L, 
	LVS_FIXEDROWHEIGHT=0x0010L, 
	LVS_FIXEDCOLWIDTH=0x00020L, 
	LVS_SINGLESEL=0x00040L, 
 
	LVS_ALGINMASK=0x0003L, 
 
	lvmDrawItem, 
}; 
 
class CListCtrl : public CWnd 
{ 
public: 
	virtual LRESULT MsgProc(UINT message, WPARAM wParam, LPARAM lParam); 
public: 
	CListCtrl(void); 
	~CListCtrl(void); 
	int GetItemCount() 
		{ return m_lst.GetSize(); } 
	DWORD SelectItem(POSITION pos) 
		{ m_posSelect=pos; } 
	PVOID GetVisibleItem(POSITION& pos); 
	PVOID GetSelectedItem(POSITION& pos); 
	void EnsureItemVisible(POSITION pos); 
	POSITION ItemFromPoint(POINT pt); 
	POSITION InsertAfter(POSITION pos,PVOID pData) 
		{ m_lst.InsertAfter(pos,pData); } 
	POSITION InsertBefore(POSITION pos,PVOID pData) 
		{ m_lst.InsertBefore(pos,pData); } 
	PVOID GetItem(POSITION pos) 
		{ return m_lst.GetAt(pos); } 
	void SetItem(POSITION pos,PVOID pData) 
		{ m_lst.SetAt(pos,pData); } 
protected: 
	void OnPaint(CDC* pDC); 
protected: 
	int m_nRowHeight; 
	int m_nColHeight; 
	POSITION m_posSelect; 
	POSITION m_posVisible; 
	POSITION m_posFocus; 
	POINT m_ptViewOrg; 
	CList m_lst; 
}; 
 
#endif //_GOS_LISTCTRL_H_