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

Вниз

И снова выбор каталога   Найти похожие ветки 

 
heady   (2004-11-04 18:56) [0]

нашел в факе - диалог выбора каталога, как ни искал на yandex"e - все время наткаюсь на эту процедуру... Подскажите пожалуйста, как вызвать этот же диалог, но с кнопкой "Создать папку". Зарание благодарен
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;


 
OSokin ©   (2004-11-04 19:27) [1]

chdir и не мучайся


 
heady   (2004-11-04 19:54) [2]

не в кассу :(


 
begin...end ©   (2004-11-04 19:59) [3]


> heady   (04.11.04 18:56)

Насколько я знаю, с помощью SHBrowseForFolder создать такой диалог (с кнопкой) не получится. Могу ошибаться, конечно.

> [1] OSokin ©   (04.11.04 19:27)
> chdir и не мучайся

Т.е. ты предлагаешь вместо того, чтобы дать пользователю возможность выбрать каталог, перейти неизвестно куда самостоятельно?


 
OSokin ©   (2004-11-04 20:18) [4]

Создать едит с кнопкой


 
Alex_Petr ©   (2004-11-04 22:32) [5]

BrowseInfo.ulFlags:=BIF_STATUSTEXT or BIF_EDITBOX or BIF_NEWDIALOGSTYLE;


 
Warlock ©   (2004-11-05 08:56) [6]

Некоторая компиляция ответов с форума и кода из FAQ:

uses shlobj;

function TForm1.SelectDirectory: String;
const BIF_NEWDIALOGSTYLE = $40;
var
 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 := Handle;
 BrowseInfo.pszDisplayName := @DisplayName;
 BrowseInfo.lpszTitle := "Specify a directory";
 BrowseInfo.ulFlags := BIF_RETURNONLYFSDIRS or BIF_NEWDIALOGSTYLE;
 lpItemID := SHBrowseForFolder(BrowseInfo);
 if Assigned(lpItemId) then begin
   SHGetPathFromIDList(lpItemID, TempPath);
   GlobalFreePtr(lpItemID);
 end else Result := "";
 Result := String(TempPath);
end;


 
heady   (2004-11-05 19:23) [7]

Warlock - лучший!!!! невероятное спасибо! ДЕЙСТВИТЕЛЬНО то что нужно!!! Занесите в фак!



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

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

Наверх




Память: 0.48 MB
Время: 0.022 c
14-1101560486
OneFragLeft
2004-11-27 16:01
2004.12.19
Пришла идея, что даже вылез из за стола (ужинал)


14-1101488372
Alex_Petr
2004-11-26 19:59
2004.12.19
На тему давления авторитетом.


14-1101407893
Ломборозо
2004-11-25 21:38
2004.12.19
Новости в RSS или TXT


3-1101128143
Dobriy
2004-11-22 15:55
2004.12.19
Порты сервера firebird и его клиента


4-1099759400
volser
2004-11-06 19:43
2004.12.19
Цвет фона рабочего стола