DWORD dwPos = GetMessagePos();
CPoint point( LOWORD(dwPos), HIWORD(dwPos) );
m_list.ScreenToClient(&point);
LVHITTESTINFO lvinfo;
lvinfo.pt = point;
lvinfo.flags = LVHT_ABOVE;
int nRowSelected,nColSelected;
int nItem = m_list.SubItemHitTest(&lvinfo);
if(nItem != -1)
{
nRowSelected = lvinfo.iItem ;
nColSelected = lvinfo.iSubItem ;
}