Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.19;
Скачать: CL | DM;

Вниз

OpenDialog   Найти похожие ветки 

 
#Deus ©   (2002-12-07 16:38) [0]

1)Как сделать чтобы через OpenDialog можно было выбирать целые директории? А не только файлы?
Спасибо!


 
PaRL ©   (2002-12-07 16:51) [1]

Никак. Зачем. Сделай своё окно и используй например DirectoryListBox, DriveComboBox.

Страница Win 3.1


 
neodiX ©   (2002-12-07 16:56) [2]

делай так:


uses ShellAPI, ShlObj;
...
function BrowseDialog
(const Title: string; const Flag: integer): string;
var
lpItemID : PItemIDList;
BrowseInfo : TBrowseInfo;
DisplayName : array[0..MAX_PATH] of char;
TempPath : array[0..MAX_PATH] of char;
begin
Result:="";
FillChar(BrowseInfo, sizeof(TBrowseInfo), #0);
with BrowseInfo do begin
hwndOwner := Application.Handle;
pszDisplayName := @DisplayName;
lpszTitle := PChar(Title);
ulFlags := Flag;
end;
lpItemID := SHBrowseForFolder(BrowseInfo);
if lpItemId <> nil then begin
SHGetPathFromIDList(lpItemID, TempPath);
Result := TempPath;
GlobalFreePtr(lpItemID);
end;
end;





 
neodiX ©   (2002-12-07 17:00) [3]

а потом так:

procedure TfrMain.btnBrowseClick(Sender: TObject);
var sTitle, sFolder: string;
iFlag : integer;
begin
sTitle:="Choose a " +
rgBrowseFor.Items[rgBrowseFor.ItemIndex];
case rgBrowseFor.ItemIndex of
0: iFlag := BIF_RETURNONLYFSDIRS;
1: iFlag := BIF_BROWSEINCLUDEFILES;
2: iFlag := BIF_BROWSEFORCOMPUTER;
3: iFlag := BIF_BROWSEFORPRINTER;
end;
sFolder := BrowseDialog(sTitle, iFlag);
if sFolder <> "" then
edSelected.text := sFolder
else
edSelected.text := "Nothing selected";
end;





 
#Deus ©   (2002-12-07 17:25) [4]

Большое спасибо!


 
Vcoder ©   (2002-12-07 22:03) [5]

А если
ofAllowMiltiSelect:=True;
Не пойдет?

Позволяет выбирать несколько файлов, хоть все сразу.


 
Song ©   (2002-12-07 22:19) [6]

>>Позволяет выбирать несколько файлов, хоть все сразу.
А при чём тут файлы? Автор директории просил..

Можно SelectDirectory() использовать.



Страницы: 1 вся ветка

Текущий архив: 2002.12.19;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.019 c
1-61557
Vcoder
2002-12-05 21:09
2002.12.19
Unicode символы


3-61450
asdf
2002-11-29 15:42
2002.12.19
dbExpress & MSSQL ?


1-61659
Versus31
2002-12-07 02:41
2002.12.19
3 простых вопроса


3-61500
oss
2002-11-29 13:12
2002.12.19
длина названия поля таблицы


3-61415
ds
2002-12-03 13:27
2002.12.19
ячейка DBGrid а