Jak wyświetlić okno przeglądania folderów

Dryobates
uses 
  ShlObj;
var
  Info: TBrowseInfo;
  Buf: array [0..MAX_PATH] of Char;
  ResultID: PItemIDList; 
  ResultDir: array [0..MAX_PATH] of Char; 
begin
  with Info do
  begin
    hwndOwner := Handle;
    pidlRoot := nil;
    pszDisplayName := @Buf;
    lpszTitle := 'Tytul';
    ulFlags := BIF_RETURNONLYFSDIRS;
    lpfn := nil;
    lParam := 0;
    iImage := 0;
  end;
  ResultID := SHBrowseForFolder(Info); 
  SHGetPathFromIDList(ResultID, ResultDir); 
  ShowMessage('Wybrano folder: '+string(ResultDir)); 
end;

Dzięki pq

3 komentarzy

Jesta też funkcja SelectDirectory(...) w module FileCtrl...

Moim zdaniem żeby było super należy dodać do var
ResultID : PItemIDList;
ResultDir: array [0..MAX_PATH] of Char;

i potem:
ResultID:=SHBrowseForFolder(Info);
SHGetPathFromIDList(ResultID, ResultDir);
ShowMessage:=('Wybrano folder: '+string(ResultDir));

wtedy wynikiem będzie pełna ścieżka do katalogu

Fajnie. Dzięki, długo tego szukałem.