gpt4 book ai didi

c++ - 默认 CListCtrl 数据即将排序

转载 作者:行者123 更新时间:2023-11-28 07:17:50 24 4
gpt4 key购买 nike

我正在逐行读取文件中的数据,并将每一行的标记放入 vector tmpstrArr 中。然后在 CListCtrl 中为每一行添加标记,但 CListCtrl 正在按降序显示排序数据。我很困惑,因为在调试元素时正在以与文件中可用的相同的正确顺序进行。我希望我的 CListCtrl 数据以文件中的原始形式而不是排序形式。此外,我还检查了 CListCtrl 的属性窗口,其中选择了 sort=None。

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);
}

最佳答案

您正在添加项目位置为 0 的每个项目。因此您刚刚插入的最后一个项目始终是列表中的第一个。参见 docs .

如果你想获得与数组中相同的顺序,你需要添加项目

 lvi.iItem = m_listCtrl.GetItemCount();
// or use INT_MAX (see docu)
lvi.iItem = INT_MAX;

关于c++ - 默认 CListCtrl 数据即将排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19947157/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com