Главная страница
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.024 c
14-1101811755
NewDelpher
2004-11-30 13:49
2004.12.19
параметры экрана Linux 2.4


14-1101990965
by
2004-12-02 15:36
2004.12.19
ECO, MDA и прочие новомодные технологии. Использует ли кто их?


1-1102149368
Gek1
2004-12-04 11:36
2004.12.19
Помогите разобраться. Глючит Format!


14-1101562175
ИМХО
2004-11-27 16:29
2004.12.19
Шевченко лидирует в опросе "Лучший футболист Европы"


14-1101550334
syte_ser78
2004-11-27 13:12
2004.12.19
Оцените бетаверсию программы "Колекционера CD"