16

我想自动调整 TListView 中所有列的大小。我正在使用下面的代码,但它没有做任何事情。

ListView1.Columns.Add.Caption := 'Field Name';
ListView1.Columns.Items[0].Autosize := True;

如何在 Delphi 中自动调整 TListView 的列大小。

我设置了我的ViewStyle to vsReport.

提前致谢

4

2 回答 2

23

我得到了答案。将列宽设置为LVSCW_AUTOSIZELVSCW_AUTOSIZE_USEHEADER解决了问题。

使用LVSCW_AUTOSIZE设置将列标题设置为列中最大子项文本的大小,

以及LVSCW_AUTOSIZE_USEHEADER将列标题设置为列标题中文本大小的设置。

uses CommCtrl;

ListView1.Columns[0].Width := LVSCW_AUTOSIZE or LVSCW_AUTOSIZE_USEHEADER;
于 2010-12-03T12:24:36.893 回答
-4

试试这个:

// Assign vsReport;    
ListView1.ViewStyle := vsReport; 

  { // Add your items  }

// Assign vsList again;
ListView1.ViewStyle := vsList; 
于 2016-03-18T15:43:45.047 回答