Vista引入了一种处理文件对话框的新方法,如需有关
IFileDialog
界面或者看看
this blog post
. 正如你自己所说,使用
OFN_ENABLETEMPLATE
标志会使“Vista公用”对话框退回到旧样式。
使用Delphi2007和2009,您可以使用
TFileOpenDialog
和
TFileSaveDialog
Vista对话框
组件类别。要使应用程序与Vista之前的Windows版本兼容,应继续使用
TOpenTextFileDialog
对于这些对话框,请在运行时检查您是否在Vista上,是否可以使用新对话框:
if Win32MajorVersion >= 6 then begin
// use TFileOpenDialog
// ...
end else begin
// use TOpenTextFileDialog
// ...
end;
The blog post
演示如何通过为添加处理程序来执行此操作
OnExecute
对话框的(因为在调用
IFileDialog
接口已设置),查询
Dialog
的“文件”对话框的成员
IFileDialogCustomize
接口,并使用它添加附加控件。