Das Beispiel hier habe ich mal ausprobiert
http://docs.embarcadero.com/products/ra ... Items.html, etwas geändert mit einem String von 100 Zeichen, da wird bei mir nichts abgeschnitten.
Code: Alles auswählen
procedure TForm1.FormCreate(Sender: TObject);
const
Names: array[0..5, 0..1] of string = (
('Rubble', 'Barney'),
('Michael', 'Johnson'),
('Bunny', 'Bugs'),
('Silver', 'HiHo'),
('Simpson', 'Bart'),
('Squirrel', 'oixlvmywmkrpqjyjxchxmrhjtufvvnmexyjyueibjbmnrvoflkvvlmylzaktffqkkjirlmgqzyhrgdgztmwuhwassofmbdsuqxdmw')
);
var
I: Integer;
NewColumn: TListColumn;
ListItem: TListItem;
begin
with ListView1 do
begin
ViewStyle := vsReport;
NewColumn := Columns.Add;
NewColumn.Caption := 'Last';
NewColumn := Columns.Add;
NewColumn.Caption := 'First';
for I := Low(Names) to High(Names) do
begin
ListItem := Items.Add;
ListItem.Caption := Names[I][0];
ListItem.SubItems.Add(Names[I][1]);
end;
end;
end;
Wieso verwendest du hier eigentlich extractfilename ? Aber daran dürfte es nicht liegen.
Beschreibt das Beispiel oben dein Problem und wird der 100 Zeichen lange String abgeschnitten ?
[Edit] meinst du mit abgeschnitten, dass da am Ende "..." steht oder fehlen da ganze Buchstaben, auch wenn du die Column mit der Maus größer machst ?
Wenn da die drei Punkte stehen, kannst du das mit AutoSize verlängern.
So z.B. (der Rest wie oben)
Code: Alles auswählen
NewColumn := Columns.Add;
NewColumn.AutoSize:= True; //!
NewColumn.Caption := '1';
NewColumn := Columns.Add;
NewColumn.AutoSize:= True; //!
NewColumn.Caption := '2';
NewColumn := Columns.Add;
NewColumn.AutoSize:= True; //!
NewColumn.Caption := '3';
Wenn die Columns im Objektinspektor angelegt sind, gibt es dort die entsprechende Funktion bei der Listview unter "Columns: TListColumns" und der jeweiligen Spalte.
Mfg