我是从另外一个list1中选取一定数量的添加到这个list2中
当我选择list2的属性为sort时,getitemcount总是不能和画面中的list2 item的数量一致
去掉sort属性就返回正确很不解
是什么原因啊?

解决方案 »

  1.   

    添加的部分的代码是这样的:list1中就是1-3000的数字元素
       
            CListCtrl* pListCtrl =  (CListCtrl *) GetDlgItem(IDC_LIST1) ;
    CListCtrl * pListSele = (CListCtrl *) GetDlgItem(IDC_LIST2); UINT i, uSelectedCount = pListCtrl->GetSelectedCount();
    int  nItem = -1;
    int *arrItem = new int[uSelectedCount];
    // Update all of the selected items.
    if (uSelectedCount > 0)
    {
    for (i=0;i < uSelectedCount;i++)
    {
    nItem = pListCtrl->GetNextItem(nItem, LVNI_SELECTED);

    ASSERT(nItem != -1);
    //pListCtrl->Update(nItem); 
    arrItem[i] = nItem;

    }
    }
    for (i=0; i<uSelectedCount; i++)
    {
    LVFINDINFO   info;   
    info.flags   =   LVFI_PARTIAL|LVFI_STRING;  
    CString str= pListCtrl->GetItemText(arrItem[i], 0 );
    info.psz   =  str; 
    if ( pListSele->FindItem(&info)!=-1) 
    {
    ;
    }
    else{
    pListSele->InsertItem(0, pListCtrl->GetItemText(arrItem[i], 0 ) );
    UpdateWindow();
    }
    }
      

  2.   

    添加没有问题,但是你添加完了 再用
    CListCtrl * pListSele = (CListCtrl *) GetDlgItem(IDC_LIST2);
    INT m_nDevNum = pListSele->GetItemCount();
    测一下就不对