int nSize = m_pConsultingList->GetCount(); for (int i = 0;i<nSize;i++) { ConsultItem* pItem = (ConsultItem*)m_pConsultingList->GetItemAt(i); CHECK_POINTER_IS_NULL(pItem); if (pItem->getCurrentData().strConsultId == pResponse->strConsultId) { pItem->UpdateMsgData(data); ConsultItem* pEndItem = (ConsultItem*)m_pConsultingList->GetItemAt(nSize - 1); CHECK_POINTER_IS_NULL(pEndItem); m_pConsultingList->SetItemIndex(pItem, nSize - 1); m_pConsultingList->SetItemIndex(pEndItem, i); return; } }