CFileDialog :: OnInitDialog()不会调用

我使用从CFileDialog扩展的自定义文件对话框。 问题是,在DoModal()之前不会调用OninitDialog() DoModal()

我已经在OninitDialog()定制了CFileDialog

我正在使用VS 2012与Win7操作系统。

我找不到,出了什么事。

Microsoft文档说,Windows Vista上不支持OnInitDialog 。 Windows 7也是如此(也可能是Windows 8)。

我今天遇到同样的问题, 我想我找到了一个有效的解决方案,在你的类的构造函数中设置m_bVistaStyle = FALSE; 这样做后,我得到了OnInitDialog,我可以自定义这个对话框就好了。

 CMyOpenDlg::CMyOpenDlg(LPCTSTR lpszDefExt, LPCTSTR lpszFileName, DWORD dwFlags, LPCTSTR lpszFilter, CWnd* pParentWnd) : CFileDialog(TRUE, lpszDefExt, lpszFileName, dwFlags, lpszFilter, pParentWnd) { m_bVistaStyle = FALSE;