我一直在使用列表视图,并发现了这篇文章:How to detect a CListCtrl selection change?
然而,那里使用的代码有一个主流,它不适用于多个选择(如该线程中所指出的)。所以我的问题是如何使代码与多选(例如,使用shift或ctrl选择)?
答案 0 :(得分:0)
我编写了一个方便的函数来查看你的OnItemChanged通知是否是由于选择更改引起的:
BOOL IsItemSelChanged(NMLISTVIEW* pNMListView)
{
// call this from your OnItemchangedMyListCtrl function in your dialog class
if(!(pNMListView->uChanged & LVIF_STATE))
{
return(FALSE);
}
if((pNMListView->uOldState & LVIS_SELECTED) == (pNMListView->uNewState & LVIS_SELECTED))
{
return(FALSE);
}
return(TRUE);
}