大家有没有发现ListCtrl的LVN_ITEMCHANGED时间为什么连续响应3次,是不是vc的bug,急!!!

http://topic.csdn.net/t/20050712/11/4138831.html

 

检查程序中有没有设置选中状态的   SetItemState(l_nIndex,   0,   LVIS_SELECTED);   操作

 

做如下状态判断:

http://hi.baidu.com/_linwei_/blog/item/57f9c1df7fc4075fcdbf1a24.html

消息处理函数:

void C***Dlg::OnItemchangedList(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;

if(pNMListView->uChanged==LVIF_STATE)
{
if(pNMListView->uNewState & LVIS_SELECTED)
   {
    //处理内容
    int nItem=pNMListView->iItem;
    CString value[6];
    for(int i=0;i<6;i++)
    {
     value[i]=m_List.GetItemText(nItem,i);
    }
   }
}

*pResult = 0;
}

相关文章: