![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Выбор папок из текущего каталога [D5, Win95/98]
Avers © (2003-05-29 15:58:00)В свое время скачал процедуру выбора каталогов. Работает нормально, однако не могу заставить ее начинать вывод подкаталогов начиная с текущего.
Если не слишком затруднит, подскажите как задать pidlROOT у BrowseInfo, чтобы получить lpItemID текущего каталога
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;
CurrDir: String;
begin
CurrDir:= GetCurrentDir;
FillChar(BrowseInfo, sizeof(TBrowseInfo), #0);
BrowseInfo.hwndOwner := Form1.Handle;
BrowseInfo.pszDisplayName := @DisplayName;
BrowseInfo.ulFlags := BIF_RETURNONLYFSDIRS;
lpItemID := SHBrowseForFolder(BrowseInfo);
if lpItemId <> nil then
begin
SHGetPathFromIDList(lpItemID, TempPath);
ShowMessage(TempPath);
GlobalFreePtr(lpItemID);
end;
end;
Источник: Дельфи. Вокруг да около.
Avers (2003-05-29 20:05:00) [1]2 clickmaker © (29.05.03 16:41)
Для SHGetPathFromIDList необходим адрес.
А функцию (или проседуру) SHParseDisplayName просто нигде не нашел.
Если не затруднит, подскажите Unit
clickmaker (2003-05-29 16:41:00) [2]SHParseDisplayName ?