7

There doesn't appear to be a simple component available to create a folder selection dialog in Delphi 2009, although a file selection dialog is provided by way of the TOpenDialog.

What is the most common way to create a modern folder selection dialog using Delphi?

smok1
  • 2,940
  • 26
  • 35
Rowan
  • 2,384
  • 2
  • 21
  • 22

4 Answers4

16

There are two overloaded routines in FileCtrl.pas called SelectDirectory

For a modern look, use the second form, with sdNewUI

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

NOTE: sdNewFolder, sdNewUI etc are only available from D2006+

Gerry Coll
  • 5,867
  • 1
  • 27
  • 36
  • Thanks for that. I did look at SelectDirectory previously but I didn't see the option for the modern UI. – Rowan Aug 17 '09 at 05:24
  • A list of the available options in the Options parameter for SelectDirectory can be found here: http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/delphivclwin32/FileCtrl_TSelectDirExtOpt.html – Rowan Aug 17 '09 at 05:30
  • Using FileCtrl.pas gives me a warning: Unit "FileCtrl" is specific to a platform. Is there a solution without this unit? – TomCat500 Sep 21 '17 at 06:56
2

you can use SelectDirectory from FileCtrl unit

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

end;
Wael Dalloul
  • 22,172
  • 11
  • 48
  • 57
1

You can download a component PBFolderDialog from "http://bak-o-soft.dk/Delphi/PBFolderDialog.aspx" which is quite easy to use and offers access to all options of the Windows "SHBrowseForFolder" dialog; something which the built-in ones not do.

It's freeware with source and not too difficult to port to Delphi 2009.

Olaf Hess
  • 1,453
  • 11
  • 18
0

See the sample code:


Delphi tip#157: select folder dialog http://www.scalabium.com/faq/dct0157.htm