Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Autosize columns for TListView

I want to auto-size all the columns in the TListView. I am using below code, but its not doing any thing.

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

How can i auto-size the columns of TListView in Delphi.

I set my ViewStyle to vsReport.

Thanks in advance

like image 492
Bharat Avatar asked Dec 03 '10 12:12

Bharat


1 Answers

I got the answer. Setting the column width to LVSCW_AUTOSIZE or LVSCW_AUTOSIZE_USEHEADER solved the problem.

Use LVSCW_AUTOSIZE setting to set the column header to the size of the largest subitem text in the column,

and a LVSCW_AUTOSIZE_USEHEADER setting to set the column header to the size of the text in the column header.

uses CommCtrl;

ListView1.Columns[0].Width := LVSCW_AUTOSIZE or LVSCW_AUTOSIZE_USEHEADER;
like image 186
Bharat Avatar answered Oct 14 '22 14:10

Bharat