【问题标题】:What is the most common way to create a folder selection dialog using Delphi?使用 Delphi 创建文件夹选择对话框的最常用方法是什么?
【发布时间】:2010-11-20 03:35:40
【问题描述】:

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

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

【问题讨论】:

    标签: delphi delphi-2009 folderbrowserdialog topendialog


    【解决方案1】:

    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 的选项。
    • 可以在此处找到 SelectDirectory 的 Options 参数中可用选项的列表:docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/…
    • 使用 FileCtrl.pas 给我一个警告:单元“FileCtrl”是特定于平台的。没有这个单元有解决办法吗?
    【解决方案2】:

    您可以使用 FileCtrl 单元中的 SelectDirectory

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

    【讨论】:

      【解决方案3】:

      您可以从“http://bak-o-soft.dk/Delphi/PBFolderDialog.aspx”下载组件PBFolderDialog ,该组件非常易于使用,并且可以访问Windows“SHBrowseForFolder”对话框的所有选项;内置的不做的事情。

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

      【讨论】:

        【解决方案4】:

        查看示例代码:


        Delphi 技巧#157:选择文件夹对话框 http://www.scalabium.com/faq/dct0157.htm


        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-04-29
          • 2015-11-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多