Delphi TFileOpenDialog、OpenDialog的区别,可使用TFileOpenDialog选择文件夹

TOpenDialog和TFileOpenDialog使用效果差不多,但是TFileOpenDialog界面更好一点,同时可使用TFileOpenDialog选择文件夹,但是TOpenDialog不能

TOpenDialog包装了传统的GetOpenFileName.它适用于所有版本的Windows.

TFileOpenDialog包装了Vista中引入的基于COM的新对话框.因此,它仅适用于Vista及以上系统。

如果继续使用TOpenDialog,则将在多选模式下获得无限数量的文件的好处.但是,如果您希望自定义对话框,并拥有新的对话框而不是难看的兼容性对话框,则需要执行以下操作:

>在XP上,使用TOpenDialog和对话框模板方法.

>在Vista和更高版本上,使用TFileOpenDialog并通过IFileDialogCustomize实现自定义.

使用TFileOpenDialog选择文件夹,TFileOpenDialog的 Options属性选择 [fdoPickFolders];

var
     OpenDialog: TFileOpenDialog;
     SelectedFolder: string;
begin
    OpenDialog := TFileOpenDialog.Create(MainForm);
    try
         OpenDialog.Options := OpenDialog.Options + [fdoPickFolders];
         if not OpenDialog.Execute then
           Abort;
         SelectedFolder := OpenDialog.FileName;
    finally
         OpenDialog.Free;
    end;
end;