Registriert seit: 3. Dez 2012
Ort: Augsburg, Bayern, Süddeutschland
419 Beiträge
Delphi XE4 Ultimate
|
AW: TListView mit ViewStyle=vsList - Anzahl der Elemente in einer Spalte
16. Okt 2013, 03:12
Hallo,
ich bin mir nicht zwar sicher, ob ich Dich richtig verstanden habe ( Listitems werden von Dir wohl nicht gezeichnet o. ä.) , aber vielleicht hilft Dir folgendes weiter:
Delphi-Quellcode:
function VisibleColCount (const Listview : TListView) : Integer;
var
cw, iw : Integer;
begin
Result := 0;
with Listview do
begin
cw := ClientWidth;
iw := Items [0].DisplayRect(drBounds).Width
end;
while Result <= cw - iw do
Inc (Result, iw);
Result := Result div iw
end;
procedure TForm1.Button1Click(Sender: TObject);
var
c, r : Integer;
begin
c := Listview1.VisibleRowCount div VisibleColCount (ListView1);
if c >= ListView1.Items.Count then
begin
c := 1;
r := ListView1.Items.Count
end
else
begin
r := c;
c := ListView1.Items.Count div c;
if c * r < ListView1.Items.Count then
Inc (c)
end;
ShowMessage (Format ('%d Spalten mit max. %d Einträgen pro Spalte', [c, r]));
end;
Gruß
Volker Zeller
|
|
Zitat
|