首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >默认的CListCtrl数据正在排序

默认的CListCtrl数据正在排序
EN

Stack Overflow用户
提问于 2013-11-13 06:45:19
回答 1查看 1K关注 0票数 0

我正在逐行读取文件中的数据,并将每一行的标记放入向量tmpstrArr.Then中,为CListCtrl中的每一行添加标记,但CListCtrl以降序显示已排序的数据。我感到困惑,因为在调试元素的顺序与文件中可用的顺序相同时,我希望CListCtrl的CListCtrl数据与文件中的原始格式相同,而不是在排序的form.Also中,我检查了选中sort=None的CListCtrl属性窗口。

代码语言:javascript
复制
LVITEM lvi;
CString strItem;

m_listctrl.InsertColumn(0, _T("col 1"), LVCFMT_LEFT, 100);
m_listctrl.InsertColumn(1, _T("col 2"), LVCFMT_LEFT, 100);

for(int i=0;i<tmpstrArr.size();i++)
{
    strItem=tmpstrArr.at(i).c_str();
    lvi.iItem = 0;
    lvi.iSubItem = i;
    lvi.pszText = (LPTSTR)(LPCTSTR)(strItem);
    //lvi.iImage = i%8;// There are 8 images in the image list
    if(i==0)
    {
        lvi.mask =  LVIF_IMAGE | LVIF_TEXT;
        m_listctrl.InsertItem(&lvi);
    }
    else
        m_listctrl.SetItem(&lvi);
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-13 07:54:49

您正在添加项位置为0的每个项。因此,您刚才插入的最后一项始终是列表中的第一项。见文档

如果要获得与数组中相同的顺序,则需要将项添加到

代码语言:javascript
复制
 lvi.iItem = m_listCtrl.GetItemCount();
 // or use INT_MAX (see docu)
 lvi.iItem = INT_MAX;
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19947157

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档