在Windows 7中显示XP Style CFileDialog

时间:2011-07-28 08:36:06

标签: c++ visual-c++ mfc

我想在Windows 7中显示CFileDialog,如下图所示。

desired dialog

根据msdn

  

如果设置了OFN_ENABLETEMPLATE并且未设置OFN_EXPLORER标志,系统将使用该模板创建一个替换默认对话框的旧式对话框。

但即使这样做,我得到的也是这样的。 The one I get

请帮忙!

2 个答案:

答案 0 :(得分:3)

试试这个:

CFileDialog fd(1,0,0,0,0,0,0,FALSE);
fd.m_ofn.lStructSize = sizeof(OPENFILENAME_NT4);
fd.DoModal();

CTOR的最后一个参数指定Vista样式为false,结构大小为sizeof ed以反映NT4文件对话框。

答案 1 :(得分:0)

我认为你不能。那些窗口属于操作系统,不再实现。您可以使用的最接近的东西是旧式对话框。

您可以尝试通过挂钩窗口来自定义此窗口,但这并不容易,我觉得不值得。