Thema: Delphi TShellTreeView Hilfe

Einzelnen Beitrag anzeigen

Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#2

Re: TShellTreeView Hilfe

  Alt 17. Sep 2005, 17:56
Hai Jonas,

ersteinmal: "Herzlich Willkommen in der Delphi-PRAXiS".

das liegt daran das die TShellListView das "Verzeichniss" rfAppDate intern händelt.
Du musst dir also auf einem anderen Weg den Pfad zu diesem Verzeichniss holen.
Entweder so:
Delphi-Quellcode:
uses
  ShlObj;

function GetShellFolder(CSIDL: integer): string;
var
  pidl: PItemIdList;
  FolderPath: string;
  SystemFolder: Integer;
begin
  FolderPath := '';
  SystemFolder := CSIDL;
  if SUCCEEDED(SHGetSpecialFolderLocation(0, SystemFolder, pidl)) then
  begin
    SetLength(FolderPath, MAX_PATH);
    SHGetPathFromIDList(pidl, PChar(FolderPath));
    SetLength(FolderPath, lstrlen(PChar(FolderPath)));
  end;
  Result := FolderPath;
end;
und übergibst als CSIDL CSIDL_APPDATA.
Oder so:
Delphi-Quellcode:
function AppDataDir: string;
begin
  Result := GetEnvironmentVariable('APPDATA');
end;
Aufrufen kannst Du es dann so:
Delphi-Quellcode:
procedure TForm1.btn_TestClick(Sender: TObject);
var
  app_Data_dir : string;
begin
  app_Data_dir := GetShellFolder(CSIDL_APPDATA);
// app_Data_dir := AppDataDir;
  ShellTreeView1.Root := app_Data_dir + '\Microsoft\Internet Explorer\Quick Launch';
end;
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat