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

WeG*_*ars 3 delphi listview

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

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

在启动时,表单不是很宽,缩略图只显示在3列上.不幸的是,如果我调整窗体(和ListView)的大小,列数将保持为3,而在右侧,我将有很多空格.

这也行不通:

procedure TForm1.FormCreate(Sender: TObject);
begin
 ListView.IconOptions.AutoArrange := TRUE;
end;
Run Code Online (Sandbox Code Playgroud)

如何重新排列项目以填充空白区域?
有没有像AutoArrange这样的房产?


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

Rob*_*edy 9

还有就是像一个属性AutoArrange.它属于IconOptions属性,而不是直接属于列表视图.

ListView1.IconOptions.AutoArrange := True;
Run Code Online (Sandbox Code Playgroud)

要对图标进行一次性排列,您可以拨打电话ListView_Arrange.