Каков наиболее распространенный способ создания диалогового окна выбора папки с помощью Delphi?

В Delphi 2009 не существует простого компонента, доступного для создания диалогового окна выбора папки, хотя диалоговое окно выбора файла предоставляется с помощью TOpenDialog.

Каков наиболее распространенный способ создания современного диалога выбора папок с использованием Delphi?

4 ответа

Решение

В FileCtrl.pas есть две перегруженные подпрограммы, которые называются SelectDirectory.

Для современного вида используйте вторую форму с sdNewUI

var
  dir : string;
begin
  dir := 'C:\temp';
  FileCtrl.SelectDirectory('Select', 'C:\', dir, [sdNewFolder, sdNewUI], Self);
end;

ПРИМЕЧАНИЕ: sdNewFolder, sdNewUI и т. Д. Доступны только с D2006+

Вы можете использовать SelectDirectory из модуля FileCtrl

using FileCtrl;
var
  St: string;
begin
  St:='c:\';
  if SelectDirectory(St,[],0) then 
  begin
  end;

end;

Вы можете загрузить компонент PBFolderDialog из " http://bak-o-soft.dk/Delphi/PBFolderDialog.aspx", который довольно прост в использовании и предлагает доступ ко всем параметрам диалогового окна Windows "SHBrowseForFolder"; то, что встроенные не делают.

Это бесплатное программное обеспечение с исходным кодом и не слишком сложно портировать на Delphi 2009.

Смотрите пример кода:


Совет Delphi #157: диалог выбора папки http://www.scalabium.com/faq/dct0157.htm


Другие вопросы по тегам