Hallo,
ich glaube, ich habe es raus - oder besser, ich staune und glaube es eigentlich nicht.
Ergänzung in der Procedure TStCustomShellListview.RefreshList:
Delphi-Quellcode:
if assigned(FTreeview) and not assigned(FFolder) then begin
if assigned(ftreeview.fselectedfolder) then
FFolder := TStShellFolder.CreateFromPidl(ftreeview.Fselectedfolder.pidl, nil)
else
FFolder := TStShellFolder.CreateFromPidl(ftreeview.FFolders[0].pidl, nil);
end;
Das ganze VOR:
Delphi-Quellcode:
if Enumerate then
Controller.Enumerate(FFolder.Pidl, etList);
Dann noch eine Ergänzung in TStCustomShellListview.WndProc (Ob es da sinnvoll ist?):
nach
Delphi-Quellcode:
{$ENDIF}
if (msg=WM_create) then begin
refreshlist(true);
if assigned(ftreeview) then ftreeview.StartFolderSet:=true;
end;
vor
Delphi-Quellcode:
end;
inherited WndProc(Message);
Das ich das bei WM_create mache, kommt daher, dass ich es nur einmal machen möchte und ich habe einfach nichts anderes gefunden als beim Erzeugen der Komponente.
Alles andere funktioniert ja dann auf eine andere Art.
Gruß
Matthias