Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi TListView mit ViewStyle=vsList - Anzahl der Elemente in einer Spalte (https://www.delphipraxis.net/177093-tlistview-mit-viewstyle%3Dvslist-anzahl-der-elemente-einer-spalte.html)

eholzer 15. Okt 2013 20:30

TListView mit ViewStyle=vsList - Anzahl der Elemente in einer Spalte
 
Hallo,

die elemente einer ListView mit ViewStyle=vsList werden in mehreren Spalten dargestellt.
Gibt es eine Möglichkeit die Anzahl der Elemnte einer Spalte zu ermitteln?

Gruß
Eric

Volker Z. 16. Okt 2013 03:12

AW: TListView mit ViewStyle=vsList - Anzahl der Elemente in einer Spalte
 
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ß

eholzer 16. Okt 2013 20:16

AW: TListView mit ViewStyle=vsList - Anzahl der Elemente in einer Spalte
 
Danke Volker. So in etwa habe ich gesucht.

Gruß
Eric


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:25 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz