使用CFileDialog打开文件时出错

时间:2013-10-23 09:10:34

标签: visual-c++ visual-studio-2012 mfc cfiledialog

我收到了一个错误:

error C2664: 'CFileDialog::CFileDialog(BOOL,LPCTSTR,LPCTSTR,DWORD,LPCTSTR,CWnd *,DWORD,BOOL)' : cannot convert parameter 5 from 'const char [52]' to 'LPCTSTR'

在以下代码中:

CFileDialog dlgFile(TRUE, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, "Movie Files (*.avi;*.mpg;*.mp4)|*.avi;*.mpg;*.mp4||", this);

请帮帮我。 这个代码在一个项目中运行良好,但是当我将它复制到其他项目时,它会显示上面的错误。

1 个答案:

答案 0 :(得分:3)

我希望一个项目构建为UNICODE,另一个项目是ANSI或MBCS。

尝试使用_TEXT()宏,如下所示:

CFileDialog dlgFile(TRUE, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, 
    _T("Movie Files (*.avi;*.mpg;*.mp4)|*.avi;*.mpg;*.mp4||"), this);