CFileDialog fileDlg(TRUE,NULL,"*.exe", OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT ,"执行文件(*.exe) | *.exe|All Files (*.*) | *.* ||",NULL);点击打开对话框,可以显示出exe文件,但是在下拉菜单中选择all file之后,就什么都先识别出来了。
而且选择了all file之后重新选择exe,exe也显示不出来了。我晕~~
小弟菜鸟,大侠帮忙~    

解决方案 »

  1.   

    执行文件(*.exe) | *.exe|All Files (*.*) | *.* ||"
    这段内容中,注意不要有空格。你的*.*前后好像有空格阿。去掉。*.exe前面的空格也去掉。两个||间的内容为过滤格式,空格也会被认为是有效字符的。
      

  2.   

    static TCHAR BASED_CODE szFilte[]=_T("(*.*)|*.*");
    CFileDialog *dlgFile = NULL;
    dlgFile=new CFileDialog(TRUE,NULL,NULL,OFN_FILEMUSTEXIST|OFN_PATHMUSTEXIST,szFilte);
    int iRet = dlgFile->DoModal();
    if(iRet == IDCANCEL)
    {
        delete dlgFile;
        dlgFile = NULL;
        return;
    }
      

  3.   

    CFileDialog Filedlg(TRUE, NULL, NULL, OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT | OFN_ALLOWMULTISELECT|OFN_EXPLORER,  "Data Files (*.bak;*.txt)|*.bak;*.txt|All files(*.*)|*.*||", NULL);
      

  4.   

    谢谢各位大侠,尤其是 happyparrot(快乐鹦鹉)。马上结贴~