delphi 自动调整TListView列的大小

at0kjp5o  于 2023-03-12  发布在  其他
关注(0)|答案(3)|浏览(567)

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

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

如何在 Delphi 中自动调整TListView的列大小?
我设置了我的ViewStyle to vsReport
先谢了

czfnxgou

czfnxgou1#

我得到了答案。将列宽设置为LVSCW_AUTOSIZELVSCW_AUTOSIZE_USEHEADER解决了问题。
使用LVSCW_AUTOSIZE设置将列标题设置为列中最大子项文本的大小,
以及LVSCW_AUTOSIZE_USEHEADER设置,用于将列标题设置为列标题中文本的大小。

uses CommCtrl;

ListView1.Columns[0].Width := LVSCW_AUTOSIZE or LVSCW_AUTOSIZE_USEHEADER;
a2mppw5e

a2mppw5e2#

只需将列宽设置为-1

ListView1.Columns[0].Width:=-1;
mec1mxoz

mec1mxoz3#

试试这个:

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

  { // Add your items  }

// Assign vsList again;
ListView1.ViewStyle := vsList;

相关问题