ОБСУЖДЕНИЕ

вызов диалога открытия папки

5 ответов 7,9 тыс.
AI-выжимка обсуждения скоро

Краткие тезисы обсуждения со ссылками на ключевые ответы появятся здесь.

Статус
Закрыто для дальнейших ответов.
Автор темы
люди подскажите пожалуйста как вызвать диалог открытия папки
 
TOpenDialog ??
 
Мля да я понимаю что опендиалогом, но что с ним сделать надо чтобы он папки открывал, а не файлы вот про что я!!!!!!!
 
Это что ли?
Код:
uses ShellAPI, ShlObj......

procedure TForm1.Button2Click(Sender: TObject);
var
TitleName : string;
lpItemID : PItemIDList;
BrowseInfo : TBrowseInfo;
DisplayName : array[0..MAX_PATH] of char;
TempPath : array[0..MAX_PATH] of char;
begin
FillChar(BrowseInfo, sizeof(TBrowseInfo), #0);
BrowseInfo.hwndOwner := Form1.Handle;
BrowseInfo.pszDisplayName := @DisplayName;
TitleName := 'Please specify a directory';
BrowseInfo.lpszTitle := PChar(TitleName);
BrowseInfo.ulFlags := BIF_RETURNONLYFSDIRS;
lpItemID := SHBrowseForFolder(BrowseInfo);
if lpItemId <> nil then
begin
 SHGetPathFromIDList(lpItemID, TempPath);
 ShowMessage(TempPath);
 GlobalFreePtr(lpItemID);
end;
end;
 
Или использовать готовый диалог из Jedi.. там есть компонент аля TOpenDialog - TBrowseFodlers, который позволяет сделать то что Вам надо...
 
Всем большой спасибо!!!
 
Статус
Закрыто для дальнейших ответов.