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


#include "gos.h" 
#include "list.h" 
#include "listctrl.h" 
 
CListCtrl::CListCtrl(void) 
{ 
	m_posVisible=NULL; 
	m_posSelect=NULL; 
} 
 
CListCtrl::~CListCtrl(void) 
{ 
} 
 
LRESULT CListCtrl::MsgProc(UINT message, WPARAM wParam, LPARAM lParam) 
{ 
	switch(message) 
	{ 
	case WM_ERASEBKGND: 
		GetScreen()->OnEraseBkgnd((CDC*)wParam); 
		break; 
	case WM_PAINT: 
		OnPaint((CDC*)wParam); 
		break; 
	case WM_DRAWITEM: 
		break; 
	default: 
		wParam=CWnd::MsgProc(message,wParam,lParam); 
	} 
	return wParam; 
} 
 
void CListCtrl::OnPaint(CDC* pDC) 
{ 
	POSITION pos; 
	CRect r; 
	for(pos=m_posVisible;pos;m_lst.GetNext(pos)) 
	{ 
	} 
} 
 
PVOID CListCtrl::GetVisibleItem(POSITION& pos) 
{ 
	LPVOID pData; 
	if(pos) 
		pData=m_lst.GetNext(pos); 
	else 
	{ 
		pos=m_posVisible; 
		pData=m_lst.GetAt(pos); 
	} 
	return pData; 
} 
 
PVOID CListCtrl::GetSelectedItem(POSITION& pos) 
{ 
	pos=m_posSelect; 
	if(!pos)return NULL; 
	return m_lst.GetAt(pos); 
}