![]() |
[TListView] Spaltenbreitensumme immer X?
Wie kann ich in einem TListView (ViewStyle = vsReport) die Spaltenbreite dynamisch machen?
d.h. das die Summe aller Splaten immer die Breite des Listview ist? Gibts da eine einstellmöglichkeit? |
Re: [TListView] Spaltenbreitensumme immer X?
Probier mal, die Breite der hintersten Spalte auf LVSCW_AUTOSIZE_USEHEADER bzw. ColumnHeaderWidth zu setzen.
HTH, Uli. |
Re: [TListView] Spaltenbreitensumme immer X?
Hallo,
die folgende Funktion setzt eine Spalte "autosize". Sie muss in FormActivate und im OnResize des Forms aufgerufen werden. Heiko
Delphi-Quellcode:
{
name: SetWithToFillClient usage: to set the width of the column to fill the complete listview parameter: theListView - the listview theColNo - the column number return parameter: return: notes: - column number starts with zero ! } class procedure TListViewToolClass.SetWithToFillClient( theListView: TListView; theColNo: Integer); var iWidth : Integer; iCurCol : Integer; begin // verfügbar Breite iWidth := theListView.ClientWidth; // Breite aller Spalten (bis auf letzte Spalte) abziehen for iCurCol:= 0 to theListView.Columns.Count-1 do begin if iCurCol<>theColNo then iWidth:= iWidth-theListView.Columns[iCurCol].Width; end; // falls ein Rest übrigblieben ist, die letzte Spalte anpassen if iWidth > 0 then begin theListView.Columns.BeginUpdate; theListView.Columns[theColNo].Width:= iWidth; theListView.Columns.EndUpdate; theListView.Invalidate; end; end; { TListViewToolClass.SetWithToFillClient } |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:35 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz