Главная страница
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.023 c
14-1101555083
olookin
2004-11-27 14:31
2004.12.19
Есть ли такое слово в русском языке?


3-1100851113
Demon23
2004-11-19 10:58
2004.12.19
Помогите с SQL запросом


1-1101800468
Viktop
2004-11-30 10:41
2004.12.19
Уникальное имя


3-1101039314
Sid
2004-11-21 15:15
2004.12.19
Как в сетке DBCtrlGrid отобразить данные из двух таблиц?


1-1101931887
Гость
2004-12-01 23:11
2004.12.19
Delphi 2005 - портится русский текст в Version Info