在一个CListCtrl控件中,当单击某项Item时,如何识别所选择的Item的索引呢?
1.响应 LVN_ITEMCHANGED消息
2.书写如下代码
void CDlg::OnItemchangedListCmpcpy(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
UINT uOldState = pNMListView->uOldState;
UINT uNewState = pNMListView->uNewState;
int nSelected = pNMListView->iItem;
if(nSelected != -1)
{
//selection activate
if(!(uOldState & LVIS_SELECTED) && (uNewState & LVIS_SELECTED))
{
m_nSel = nSelected;
}
//selection deactivated
if((uOldState & LVIS_SELECTED) && !(uNewState & LVIS_SELECTED))
{
m_nSel = -1;
}
}
*pResult = 0;
}
其实这个很简单,只是当作笔记吧。