使用Delphi创建文件夹选择对话框的最常见方法是什么?

7

在Delphi 2009中,似乎没有一个简单的组件可用于创建文件夹选择对话框,尽管通过TOpenDialog提供了文件选择对话框。

使用Delphi创建现代文件夹选择对话框的最常见方法是什么?

4个回答

16

FileCtrl.pas中有两个名为SelectDirectory的重载例程。

对于现代外观,请使用第二种形式,即sdNewUI。

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

注意:sdNewFolder、sdNewUI等仅在D2006及以上版本中可用。


谢谢。我之前确实看过SelectDirectory,但是我没有看到现代UI的选项。 - Rowan
SelectDirectory 的 Options 参数中可用选项列表可以在此处找到:http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/delphivclwin32/FileCtrl_TSelectDirExtOpt.html - Rowan
使用FileCtrl.pas会给我一个警告:单元“FileCtrl”是特定于平台的。有没有不使用这个单元的解决方案? - TomCat500

2
你可以使用FileCtrl单元中的SelectDirectory函数。
using FileCtrl;
var
  St: string;
begin
  St:='c:\';
  if SelectDirectory(St,[],0) then 
  begin
  end;

end;

1

您可以从 "http://bak-o-soft.dk/Delphi/PBFolderDialog.aspx" 下载一个组件 PBFolderDialog ,它非常易于使用,并提供对Windows“SHBrowseForFolder”对话框的所有选项的访问;这是内置组件所不能做到的。

它是带源代码的免费软件,并且不太难移植到Delphi 2009。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接