这个是clistctrl改变中的回调
void CclistctrlDlg::OnLvnItemchangingList1(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMLISTVIEW pNMLV = reinterpret_cast<LPNMLISTVIEW>(pNMHDR);
// TODO: 在此添加控件通知处理程序代码
if (LVIF_STATE == pNMLV->uChanged && (pNMLV->uNewState & (LVIS_SELECTED|LVIS_FOCUSED)))
{
if(m_nItem == pNMLV->iItem)    // 不能选择本次所选择的行数
{
*pResult =-1;
return;
}
if (pNMLV->iItem == 5)   // 某个条件满足,则不往下执行
{
// m_listctrl.SetItemState(m_nItem,LVIS_SELECTED|LVIS_FOCUSED,LVIS_SELECTED|LVIS_FOCUSED); //      m_listctrl.SetFocus();   这两行表示设置回原来的选择   *pResult = -1;
return ;
}
m_nItem = pNMLV->iItem;
}
*pResult = 0;
}// 改变后的响应
void CclistctrlDlg::OnLvnItemchangedList1(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMLISTVIEW pNMLV = reinterpret_cast<LPNMLISTVIEW>(pNMHDR);
if (LVIF_STATE == pNMLV->uChanged && (pNMLV->uNewState & (LVIS_SELECTED|LVIS_FOCUSED)))
{
              // 做某些事情      
}
*pResult = 0;
}请问如标题所述,我该怎样写,才能再达到某些条件后,listctrl上面依然显示的是我上次的选择,注明,需要亮显,也就是说,等于没有点选别行时的那种样子。谢谢