我使用从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;