Einzelnen Beitrag anzeigen

Andreas L.
(Gast)

n/a Beiträge
 
#4

Re: Listview und Treeview mit eigenen Icons erstellen

  Alt 20. Sep 2009, 16:11
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.
  Mit Zitat antworten Zitat