Вывод диалога для выбора каталога
{codecitation class=»brush: pascal; gutter: false;» width=»600px»}
Разговаривают два юзера.
— Я слышал, что если проиграть CD-ROM c Виндоуз 2000 в обратную сторону, то получится послание от сатаны!
— Куда страшней другое: если ты проиграешь его как надо, то инсталлируется Виндоуз 2000…
uses
ShellAPI, ShlObj;
…
procedure TForm1.Button1Click(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;
{/codecitation}