我想自动调整TListView中所有列的大小。我使用下面的代码,但它没有做任何事情。
ListView1.Columns.Add.Caption := 'Field Name'; ListView1.Columns.Items[0].Autosize := True;
如何在 Delphi 中自动调整TListView的列大小?我设置了我的ViewStyle to vsReport。先谢了
ViewStyle to vsReport
czfnxgou1#
我得到了答案。将列宽设置为LVSCW_AUTOSIZE或LVSCW_AUTOSIZE_USEHEADER解决了问题。使用LVSCW_AUTOSIZE设置将列标题设置为列中最大子项文本的大小,以及LVSCW_AUTOSIZE_USEHEADER设置,用于将列标题设置为列标题中文本的大小。
LVSCW_AUTOSIZE
LVSCW_AUTOSIZE_USEHEADER
uses CommCtrl; ListView1.Columns[0].Width := LVSCW_AUTOSIZE or LVSCW_AUTOSIZE_USEHEADER;
a2mppw5e2#
只需将列宽设置为-1
ListView1.Columns[0].Width:=-1;
mec1mxoz3#
试试这个:
// Assign vsReport; ListView1.ViewStyle := vsReport; { // Add your items } // Assign vsList again; ListView1.ViewStyle := vsList;
3条答案
按热度按时间czfnxgou1#
我得到了答案。将列宽设置为
LVSCW_AUTOSIZE
或LVSCW_AUTOSIZE_USEHEADER
解决了问题。使用
LVSCW_AUTOSIZE
设置将列标题设置为列中最大子项文本的大小,以及
LVSCW_AUTOSIZE_USEHEADER
设置,用于将列标题设置为列标题中文本的大小。a2mppw5e2#
只需将列宽设置为-1
mec1mxoz3#
试试这个: