Каков наиболее распространенный способ создания диалогового окна выбора папки с помощью 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