Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо