views:

593

answers:

4

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?

+12  A: 

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
Thanks for that. I did look at SelectDirectory previously but I didn't see the option for the modern UI.
Rowan
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
+2  A: 

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
A: 

See the sample code:


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


A: 

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