Brauchst halt noch eine Liste in der zu der jeweiligen Dateiendung der ImageIndex gespeichert ist. z. B.
Delphi-Quellcode:
type
TFileExt = record
FileExt: String;
ImageIndex: Integer;
end;
TFileExts = array of TFileExt;
...
var
FileExtArray: TFileExts;
procedure TForm1.OnCreate(Sender: TObject);
begin
SetLength(FileExtArray, 1);
FileExtArray.FileExt := 'htm';
FileExtArray.ImageIndex := 5;
end;
procedure TForm1.ErstelleEintrag(FileName: String);
begin
with ListView1.Items.Add do
begin
...
ImageIndex := GetFileImageIndex(ExtractFileExt(FileName));
end;
end;
function TForm1.GetFileImageIndex(AFileExt: String):Integer;
var
i: Integer;
begin
Result := -1;
for i := 0 to Length(FileExtArray) -1 do
begin
if LowerCase(AFileExt) = LowerCase(FileExtArray[i].FileExt then
begin
Result := FileExtArray[i].ImageIndex;
Break;
end;
end;
end;
Besser wäre es natürlich wenn du dir eine Komponente von TCollection ableitest, dann kannst du die ImageIndexe und Dateiendungen zur DesignTime im Objekt-Inspektor einstellen.