also ich hab hier jetzt sowas da gefunden:
Delphi-Quellcode:
procedure TForm1.ListView2DblClick(Sender: TObject);
var
ds : TSearchRec;
res : integer;
li : TListItem;
fi : TSHFileInfo;
drive: string;
begin
drive := ListView2.Selected.caption;
ListView3.Items.Clear;
res := FindFirst(drive + '*.*', faAnyFile,ds);
while(res = 0) do
begin
if(ds.Attr and faDirectory = 0) and
(ds.Name <> '.') and
(ds.Name <> '..') then
begin
// Name der Datei eintragen
li := Listview3.Items.Add;
li.Caption := ds.Name;
// jetzt Zugriff auf die System-Imageliste
// und nur den Typennamen und das Symbol
// ermitteln!
ZeroMemory(@fi,sizeof(fi));
SHGetFileInfo(pchar(drive + ds.Name),0,fi,sizeof(fi),
SHGFI_ICON or SHGFI_SYSICONINDEX or SHGFI_TYPENAME);
// Icon-Index zuweisen, ...
li.ImageIndex := fi.iIcon;
// "iIcon" ist eine Integer-Variable und erhält somit
// wirklich nur den Index auf das Symbol, aber nicht
// das Symbol als solches. Daher ist es nun egal, wie
// oft ein Dateityp im Ordner vorkommt.
// ... & Typennamen als Untereintrag hinzufügen
li.SubItems.Add(fi.szTypeName);
end;
res := FindNext(ds);
end;
FindClose(ds);
end;
listView2 ist dabei eine auflistung der laufwerke.
jetzt meine frage: wie kann ich in der listview nicht nur enthaltene dateien sondern auch enthaltene ordner anzeigen lassen?