Вниз
Скачать: CL | DM;

TDirectoryListBox - Как показать скрытые директории?   Найти похожие ветки 

 
Bohdan ©   (2004-04-19 12:29) [0]

TDirectoryListBox - Как показать скрытые директории?


 
Amoeba ©   (2004-04-19 12:35) [1]

Никак!


 
[lamer]Barmaglot ©   (2004-04-19 13:23) [2]

Использовать SHBrowseForFolder?


 
Bohdan ©   (2004-04-19 13:24) [3]

Вопрос в следующем. Если в TFileListBox есть свойство TFileType в котором можно выбрать атрибуты показываемых файлов, то почему подобного нет в TDirectoryListBox? Или как все же такого добиться?


 
Amoeba ©   (2004-04-19 13:29) [4]


> почему подобного нет в TDirectoryListBox

Разработчик не удосужился это сделать.
При желании можно взять исходиники и попытаться создать наследника с нужной тебе функциональностью.


 
[lamer]Barmaglot ©   (2004-04-19 13:32) [5]

Объясни зачем тебе именно TDirectoryListBox? Пользуйся более качественным, быстрым и удобным в настройке, встроенным в виндовс SHBrowseForFolder...

Код приблизительно такой:


function BrowseCallbackProc(DialogHWND: THandle;NINT: Integer; PARAM1: lParam; PARAM2: lParam): integer; stdcall;
var
 s:    String;
begin
if NInt = BFFM_INITIALIZED then
 begin
 s:="d:\";
 SendMessage(DialogHWND,BFFM_SETSELECTION,1,integer(PChar(s)));
 end;
result:=0;
end;

procedure SelectDirClick(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.lpfn:=@BrowseCallbackProc;
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);
    Form1.Edit1.Text:=TempPath; //Записываем результат выбора
    GlobalFreePtr(lpItemID);
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
SelectDirClick(nil);
end;


под свои нужды переделай сам...


 
Bohdan ©   (2004-04-19 15:08) [6]

Спасибо Barmaglot, но это не совсем то что нужно, поскольку надо чтобы обзор и выбор директорий и файлов в них присутствовал постоянно на форме... Тем более что SHBrowseForFolder при вызове, проверяет CD приводы и если они без дисков, выдает предупреждение "Устройство не готово к работе", а мне CD совсем и не нужны.

..Пока попробую написать свой компонент...


 
[lamer]Barmaglot ©   (2004-04-19 15:17) [7]

Тем более что SHBrowseForFolder при вызове, проверяет CD приводы и если они без дисков, выдает предупреждение "Устройство не готово к работе", а мне CD совсем и не нужны.

Установить свой pidlRoot.

А вообще ЛистВиев + руки (recurseSearch)



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

Скачать: CL | DM;



Память: 0.46 MB
Время: -0.97 c
11-1059205365
miek
2003-07-26 11:42
2004.04.11
Form.OnMessage


14-1081973550
Ломброзо
2004-04-15 00:12
2004.04.11
А хто пишет "Хокку для души"??


14-1079390083
kaif
2004-03-16 01:34
2004.04.11
Анатомия ангелов


3-1078990424
Michail Dalakov
2004-03-11 10:33
2004.04.11
Сортировка в DB Oracle


8-1076677977
Grinder
2004-02-13 16:12
2004.04.11
mp3 in program




   Наверх