TFolderDialog component Help
-----------------------------------------------------------------------

TFolderDialog is a native Delphi32 component that encapsulates
the 'Browse for Folder' dialog. This common dialog is provided by
the Shell of Windows 95+/98/NT4+/2000?. 

The dialog is used to select one item from the namespace of the
Windows Shell. Such an item can be a directory path, a computername,
a printername, etc., but it can also be a filepath.
The dialog contains a single TreeView, whose root can be:

  a filesystem directory,
  a startmenu group,
  the network,
  the favorites folder,
  and so on.

TFolderDialog is a task modal dialog with active events.

This component supports placing a CustomButton on the
dialog, whose properties are cloned from a template button.
The template button can be created in the IDE as a TButton,
TCheckBox or TRadioButton. The position, size, font,
OnClick eventhandler and many other properties are then
used and active in the TFolderDialog.

TFolderDialog can position itself in three ways:

  . centered on the owner
  . centered on the screen
  . placed on the Parent in designed position

The component inherits from Delphi's TCommonDialog and
fully supports the events OnShow and OnClose. The OnChange event
is fired whenever the current selection in the dialog has changed.

----------------------------------------------------------
Properties
----------------------------------------------------------

  Published:

    Top: integer
    Left: integer
    Title: string
    Directory: String
    Text: String read
    Options: TFolderDialogOptions
    RootFolder: TShellFolder
    CustomButton: TButtonControl

  Public:
    { a defined Parent makes the dlg's Top, Left position relative }
    property    Parent: TWinControl
    { DisplayName is dlg result when browsing non-filesystemfolders
          (e.g. bfBrowseForComputer) }
    property    DisplayName: String
    property    ImageIndex: Integer
    property    Handle: HWND
    property    ClientWidth: integer
    property    ClientHeight: integer
    property    StatusText: string
    property    SelectionPath: string
    property    SelectionPIDL: PItemIDList
    property    SelectionAttributes: integer
    property    RootPIDL: PItemIDList

------------------------------------------------
Events
----------------------------------------------------------

  Published:
    OnShow: TNotifyEvent
    OnClose: TNotifyEvent
    OnChange: TNotifyEvent

------------------------------------------------
Methods
----------------------------------------------------------

  Public:
    constructor Create(AOwner: TComponent)
    destructor  Destroy
    function    Execute: Boolean
    function    Perform(Msg: Cardinal; WParam, LParam: Longint): Longint
    procedure   EnableOK(const Value: Boolean)

----------------------------------------------------------
Types
----------------------------------------------------------

TFolderDialogOptions

    bfFileSysDirsOnly, bfDontGoBelowDomain, bfStatusText,
    bfFileSysAncestors, bfBrowseForComputer, bfBrowseForPrinter,
    bfBrowseIncludeFiles,
    bfShowPathInStatusArea, bfSyncCustomButton, bfAlignCustomButton,
    bfScreenCenter, bfParentCenter, bfResizeCustomButton

TShellFolder

    sfoDesktopExpanded,sfoDesktop,sfoPrograms,sfoControlPanel,
    sfoPrinters,sfoPersonal,sfoFavorites,sfoStartup,sfoRecent,
    sfoSendto,sfoRecycleBin,sfoStartMenu,sfoDesktopDirectory,sfoMyComputer,
    sfoNetwork,sfoNetworkNeighborhood,sfoFonts,sfoTemplates,
    { sfoCommon* is for NT 4.0+ only: fdj }
    sfoCommonStartMenu, sfoCommonPrograms, sfoCommonStartup,
    sfoCommonDesktopDirectory, sfoAppData, sfoPrintHood

----------------------------------------------------------
