首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CListCtrl::InsertItem()的排序问题

CListCtrl::InsertItem()的排序问题
EN

Stack Overflow用户
提问于 2017-03-28 03:03:16
回答 1查看 652关注 0票数 0

我使用VS2015来开发并需要将项插入到CListCtrl对象中。我使用InsertItem()在列表末尾添加新项。下面是我的代码

代码语言:javascript
复制
int nIdx = m_SessionTimesListCtrl.InsertItem(
            m_SessionTimesListCtrl.GetItemCount(), IFMT("%s/%s/%s", getTime(), getWeekDay(), getTimeZone()));

我的意图是得到下面的列表

03:00/星期一/美国

17:00/TUS/US

17:00/WED/US

17:00/清华/美国

但是,我拿到了这份名单

03:00/星期一/美国

17:00/清华/美国

17:00/TUS/US

17:00/WED/US

唯一的解释是CListCtrl对输入进行排序,我给它要插入的索引。

我检查了我的资源文件,没有使用排序属性。

代码语言:javascript
复制
CONTROL         "",IDC_LIST_SESSION_TIMES,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP,7,7,152,58

那么,我的问题是如何禁用CListCtrl的自动排序?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-28 03:51:20

当需要以可排序的方式显示项目时,通常使用LVS_REPORT样式。使用这种样式可能会导致列表控件具有一个CHeaderCtrl,可以单击该控件对列表项进行排序。

如果不需要排序,并且不需要显示列标题,则可能不使用LVS_REPORT样式。选择类似于LVS_LIST风格的东西。

如果需要列标题,但不需要排序,则可能希望通过执行以下操作来禁用控件的排序属性:

代码语言:javascript
复制
m_SessionTimesListCtrl.ModifyStyle(LVS_SORTASCENDING|LVS_SORTDESCENDING, 0);
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43059944

复制
相关文章

相似问题

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