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

时间:2013-01-25 17:19:05

标签: delphi listview

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

  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工作。

1 个答案:

答案 0 :(得分:9)

属于AutoArrange这样的属性。它属于IconOptions属性,而不是直接属于列表视图。

ListView1.IconOptions.AutoArrange := True;

要对图标进行一次性排列,您可以改为调用ListView_Arrange