gpt4 book ai didi

delphi - 在 Delphi TListView 中移动 SubItemImages 的错误水平位置?

转载 作者:行者123 更新时间:2023-12-03 18:32:32 32 4
gpt4 key购买 nike

在 Delphi TListView 中,是否可以移动 SubItemImages 的错误水平位置,因为它们绘制得太靠左了?例如这样的东西(伪代码,只是表明意图):

x := MyListView.Items[i].SubItemImages[2].HorizontalPosition;
MyListView.Items[i].SubItemImages[2].HorizontalPosition := x + 2;

显示错误的屏幕截图:

enter image description here

最佳答案

没有。 TListItem.SubItemImages是整数,整数没有水平位置。

property SubItemImages[Index: Integer]: Integer read GetSubItemImage 
write SetSubItemImage;

您可以通过查看 VCL 源代码找到这一点,在本例中是在 ComCtrls 单元中。相关代码在TListItem.GetSubItemImage中(下图来自XE3的代码,但与Delphi之前版本的代码相同)。

function TListItem.GetSubItemImage(Index: Integer): Integer;
begin
Result := TSubItems(FSubItems).ImageIndex[Index];
end;

据我所见MSDN documentation ,无法更改该图像的位置。这些列是通过向底层 Windows ListView 控件发送 LVCOLUMN 来创建的每个列的定义的记录(结构),它没有可分配的位置信息。它有一个用于将图像设置为右对齐的标志 (LVCFMT_BITMAP_ON_RIGHT),但没有其他任何东西可以让您将图像实际定位到列中的特定位置。

关于delphi - 在 Delphi TListView 中移动 SubItemImages 的错误水平位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14903647/

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