总有人间一两风,填我十万八千梦

MFC,CFileDialog文件类型乱码的解决方案

Windows C/C++ Zero、J 3621℃ 0评论

今天在使用CFileDialog选择文件的时候,发现文件的类型列表第一个是正常的,而第二个列表却出现了乱码,最后发现是我Filter参数的问题,下面给出解决方案。

错误原形

CFileDialog fileDlg(TRUE,NULL,NULL,OFN_HIDEREADONLY |OFN_OVERWRITEPROMPT,
                   _T("All Files(*.*)|*.*"));

上面的代码目测是没有神马问题的,然而_T(“All Files(*.*)|*.*”) 这个Filter的写法是错误的,下面是正确的原型。

正确写法

CFileDialog fileDlg(TRUE,NULL,NULL,OFN_HIDEREADONLY |OFN_OVERWRITEPROMPT,
                    _T("All Files(*.*)|*.*||"));

错误原因,Filter的写法不对,最后一个Filter后面依然需要双竖线‘||’结尾。

转载请注明:悠然品鉴 » MFC,CFileDialog文件类型乱码的解决方案

喜欢 (4)or分享 (0)
发表我的评论
取消评论

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址