我有这么一段代码:
CListCtrl m_list1;
for(i=0;i<10;i++)
{
    CString cs;
    cs.Format("%d",i+1);
    m_list1.InsertItem(i,cs);
    m_list1.SetItemText(i,1,(g_pbankdata->m_pbillinfo+(i))->paydate);
}
输出结果是:
1   20031101
10  20031101
2   20031101
3   20031101
4   20031101
5   20031101
6   20031101
7   20031101
8   20031101
9   20031101
如果插入行数大于10,输出结果就会出现这种情况。
是不是InsertItem()函数的第一个参数给定的索引值就是按照这样的顺序增加的。
怎么才能避免出现这样的情况发生!

解决方案 »

  1.   

    楼主你这句里面的是什么呀
     m_list1.SetItemText(i,1,(g_pbankdata->m_pbillinfo+(i))->paydate);
    g_pbankdata,m_pbillinfo,paydate都是什么?
      

  2.   

    int item =m_list1.InsertItem(i,cs);
    m_list1.SetItemText(item,1,(g_pbankdata->m_pbillinfo+(i))->paydate);
      

  3.   

    谢谢 回复人: lingfeng8888(棱枫) 
    我的问题已经解决了,就是这个原因。
    我是刚刚才开始学习vc,因为是刚刚毕业,找的第一份工作,接的第一个项目就是用vc来开发的。以前的那个人是用vc来开发的,所以我也不得不现学现卖!有好多的东西不明白!
    所以希望 回复人: lingfeng8888(棱枫) 能留下联系方式,以后再有其他的问题,可以方便请教!
    Thanks!!!