TListView - 如何在调整大小时重新排列项目

4

我有一个TListView,以图标视图(ViewStyle:=vsIcon)显示小缩略图。运行时,我会向项目分配图像:

  for i := 0 to Total - 1 DO
   with ListView.Items.Add DO
     begin
      Caption := 'Item ' + IntToStr(i);
      ImageIndex := i;
     end;

在启动时,窗体并不是很宽,缩略图仅显示在三列中。不幸的是,如果我调整窗体(和ListView)的大小,列数将保持为3,在右侧会有许多空白空间。
这也行不通:
procedure TForm1.FormCreate(Sender: TObject);
begin
 ListView.IconOptions.AutoArrange := TRUE;
end;

如何重新排列项目以填充空白空间?
是否有类似于AutoArrange的属性?


更新:
我删除了旧控件并在表单上放置了一个新的控件。
现在,ListView.IconOptions.AutoArrange可以工作。之前的控件中有一些设置阻止了AutoArrange的工作。

1个回答

10

有一个称为AutoArrange的属性,它属于IconOptions属性,而不是直接属于列表视图。

ListView1.IconOptions.AutoArrange := True;

为了一次性排列图标,您可以调用 ListView_Arrange

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接