Главная страница
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.026 c
1-1101937791
Profi
2004-12-02 00:49
2004.12.19
Сохранения в файл


14-1101538365
Knight
2004-11-27 09:52
2004.12.19
Почему винда читает компакты хуже доса?


3-1100592864
DimonNew
2004-11-16 11:14
2004.12.19
UpdateSQL &amp; ADO


3-1100767909
AlexG
2004-11-18 11:51
2004.12.19
Есть ли какое-нибудь событие, привязанное к компоненту ADOQuery..


6-1095078719
Comp
2004-09-13 16:31
2004.12.19
Трафик