gpt4 book ai didi

delphi - 如何在 TListView 列上显示排序箭头?

转载 作者:行者123 更新时间:2023-12-03 14:55:56 27 4
gpt4 key购买 nike

Windows 资源管理器有一个箭头,指示 ListView (报告 View 样式)按哪一列以及按哪个方向排序(ASC 与 DESC)。

是否可以在 Delphi 中的 TListView 上显示这样的排序指示箭头?

最佳答案

下面是一些简单的代码,用于将标题列标记为升序排序:

uses
Winapi.CommCtrl;

var
Header: HWND;
Item: THDItem;
begin
Header := ListView_GetHeader(ListView1.Handle);
ZeroMemory(@Item, SizeOf(Item));
Item.Mask := HDI_FORMAT;
Header_GetItem(Header, 0, Item);
Item.fmt := Item.fmt and not (HDF_SORTUP or HDF_SORTDOWN);//remove both flags
Item.fmt := Item.fmt or HDF_SORTUP;//include the sort ascending flag
Header_SetItem(Header, 0, Item);
end;

为了简单起见,我省略了错误检查。如果您想要相反方向的箭头,我相信您可以弄清楚如何交换逻辑。

MSDN 的关键主题是 HDITEM结构体。

关于delphi - 如何在 TListView 列上显示排序箭头?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14792244/

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