3

我有一个显示小缩略图的TListView(ViewStyle:=vsIcon)。在运行时,我将图像分配给项目:

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

启动时表单不是很宽,缩略图仅显示在 3 列上。不幸的是,如果我调整表单(和ListView)的大小,列数将保持为 3,并且在右侧我将有很多空白。

这也不起作用:

procedure TForm1.FormCreate(Sender: TObject);
begin
 ListView.IconOptions.AutoArrange := TRUE;
end;

如何重新排列项目以填充空白空间?
有像 AutoArrange 这样的属性吗?


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

4

1 回答 1

9

一个AutoArrange. 它属于IconOptions属性而不是直接属于列表视图。

ListView1.IconOptions.AutoArrange := True;

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

于 2013-01-25T17:25:04.120 回答