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

Вниз

есть SHBrowseForFolder с созданием папки?   Найти похожие ветки 

 
AllDontFire   (2005-10-30 18:42) [0]

Есть функция SHBrowseForFolder для получения каталога по выбору. Но, у неё нет кнопки создания новой папки.
Я посмотрел ресурсы shell32.dll (в WinXP, в Win98 не нашёл, там вообще нет 1087), там есть диалог №1087 (1079 без) с кнопкой создания папки, т.о. возможно есть и функция для работы с ним. Или может в структуре для SHBrowseForFolder что-то указать нужно?


 
Максим   (2005-10-30 18:54) [1]

В Win9x кнопки "Создать папку", ВРОДЕ-БЫ, нет. Но на XP\2k пробовал вот так, получалось:

uses ...ShlObj, ComCtrls...

function ShowOpenDirDialog(TitleOfDialog: string): string;
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 := application.Handle;
BrowseInfo.pszDisplayName := @DisplayName;
TitleName := TitleOfDialog;
BrowseInfo.lpszTitle := PChar(TitleName);
BrowseInfo.ulFlags := BIF_RETURNONLYFSDIRS + BIF_EDITBOX + $0040;
lpItemID := SHBrowseForFolder(BrowseInfo);
if lpItemId <> nil then begin
SHGetPathFromIDList(lpItemID, TempPath);
GlobalFreePtr(lpItemID);
Result:=TempPath;
end;
end;


возвращает string пути, указанного в диалоге :)


 
gdaujk ©   (2005-10-30 19:20) [2]

AllDontFire
И точно, про стандартную возможность я перепутал. Есть возможность выводить список файлов директории в List Box"е с помощью DlgDirList и т. д.

А вот решение твоей проблеммы:


Inf.ulFlags := Your_Stile or BIF_NEWDIALOGSTYLE or or BIF_VALIDATE;


 
AllDontFire   (2005-10-31 09:13) [3]

Спасибо!



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

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

Наверх




Память: 0.47 MB
Время: 0.039 c
14-1133884089
Torry
2005-12-06 18:48
2006.01.01
Delphi 2006 - Danny Thorpe leaving Borland


14-1134147714
Kerk
2005-12-09 20:01
2006.01.01
Просто мысль.


2-1134300322
ЕвгенийГость
2005-12-11 14:25
2006.01.01
Пожалуйста, напомните как обрабатывать нажатия клавиш... особенно


2-1134307926
WebSQLNeeder
2005-12-11 16:32
2006.01.01
Как узнать путь к программе где она находится в данный момент?


2-1134673499
alec_sey
2005-12-15 22:04
2006.01.01
ASCII_ANSI