![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
OpenDialog [D6, Win95/98]
anod © (2002-03-20 12:06:00)Как сделать, чтобы с помощью OpenDialog выбирать директории, а не файлы
Кулюкин Олег (2002-03-20 12:33:00) [1]При помощи OpenDialog выбирать директории нельзя.
Можно использовать функции SelectDirectory из юнита FileCtrl (подробности по F1) или компонент TDirectoryEdit из RX.
VID (2002-03-20 12:24:00) [2]Пример:
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;
имхо, юзать предназначенные для этого компоненты гораздо культурнее :)
Виктор Щербаков (2002-03-20 12:18:00) [3]В D5 есть демка - Virtual ListView.
Там показано как пользоваться стандартным диалогом выбора директории.
lipskiy (2002-03-20 12:17:00) [4]А зачем OpenDialog?
Есть нормальная функция, не помню точно - BrowseDir или BrowseDirectory что-то в это духе - открывает стандартный виндовый диалог выбора каталога
panov (2002-03-20 12:16:00) [5]Закладка Win 3.1 на палитре компонентов-->TDirectoryListBox