使用MFC提供的文件打开对话框打开文件时,在显示出文件打开对话框时,如何只显示出txt文件。

解决方案 »

  1.   

    CString sFilter;
    sFilter="所有文件(*.*)|*.*";
    sFilter+="|TXT文件(*.txt)|*.txt";
    CFileDialog dlg(TRUE,NULL,NULL,0,(LPCSTR)sFilter);
    dlg.m_ofn.Flags|=OFN_ALLOWMULTISELECT|OFN_EXPLORER|OFN_FILEMUSTEXIST|OFN_LONGNAMES|OFN_PATHMUSTEXIST;//
    char buf[20480]="";
    dlg.m_ofn.lpstrFile=buf;
    dlg.m_ofn.nMaxFile=2048;
    dlg.m_ofn.lpstrTitle="选择源文件";
    CString sInitPath = MyGetProfileString("LastTimePath", "OpenPath", "");
    dlg.m_ofn.lpstrInitialDir=(LPCTSTR)sInitPath;//初始化最初的路径。
    int ret=dlg.DoModal();
    if(ret!=IDOK)
    {
    return;
    }
    POSITION pos=dlg.GetStartPosition();
    if(pos==NULL)return ;
    CStringArray arrSourPath;
    while(pos!=NULL)
    {
    arrSourPath.Add(dlg.GetNextPathName(pos));
    }
      

  2.   

    CFileDialog fileDlg( TRUE, ".txt", "", OFN_HIDEREADONLY|OFN_EXPLORER, szFilter, this);
      

  3.   

    CFileDialog fileDlg(true,NULL,"",OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,"*.txt|*.txt|",NULL);
      

  4.   

    static char BASED_CODE szFilter[] = "txt(*.txt)|*.txt|";
      

  5.   

    CFileDialog Filedlg(
    TRUE,
    NULL,
    NULL,
    OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT |
    OFN_ALLOWMULTISELECT|OFN_EXPLORER,
    "TXT Files (*.txt)|*.txt|All files(*.*)|*.*||",
    NULL); 
    if(Filedlg.DoModal() == IDOK)
    {
    CString strFilePath = Filedlg.GetPathName();
    }
      

  6.   

    char szFilters[]="Text Files(*.txt)|*.txt||";
       CFileDialog fileDlg (TRUE,NULL,NULL,
                OFN_FILEMUSTEXIST|OFN_HIDEREADONLY,szFilters,this);
       
       if( fileDlg.DoModal()==IDOK )
       {
          CString pathName = fileDlg.GetPathName();  
          AfxMessageBox(pathName);
       }