象 media play 那样除了一班类型, all file 以外还有个 所有媒体文件是怎样做的? 
点所有媒体文件,显示图标就过滤掉:非列出来的文件

解决方案 »

  1.   

    http://www.codeproject.com/dialog/fndsoundpreview.asp
    CSoundFileDlg - An Open/Save dilaog for sound files with Preview (or prelisten)
      

  2.   

    filter串为
    "所有媒体文件|*.avi,*.mpg.........."
    这个串可以动态生成
      

  3.   

    explicit CFileDialog(
       BOOL bOpenFileDialog,
       LPCTSTR lpszDefExt = NULL,
       LPCTSTR lpszFileName = NULL,
       DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
       LPCTSTR lpszFilter = NULL,
       CWnd* pParentWnd = NULL,
       DWORD dwSize = 0
    );
    static char BASED_CODE szFilter[] = "Chart Files (*.xlc)|*.xlc|Worksheet Files (*.xls)|*.xls|Data Files (*.xlc;*.xls)|*.xlc; *.xls|All Files (*.*)|*.*||";lpszFilter  = szFilter;
      

  4.   

    // szFilters is a text string that includes two file name filters:
       // "*.my" for "MyType Files" and "*.*' for "All Files."
       char CChildFrame::szFilters[]=
          "MyType Files (*.my)|*.my|All Files (*.*)|*.*||";   // Create an Open dialog; the default file name extension is ".my".
       CFileDialog fileDlg (TRUE, "my", "*.my",
          OFN_FILEMUSTEXIST| OFN_HIDEREADONLY, szFilters, this);
       
       // Display the file dialog. When user clicks OK, fileDlg.DoModal() 
       // returns IDOK.
       if( fileDlg.DoModal ()==IDOK )
       {
          CString pathName = fileDlg.GetPathName();
       
          // Implement opening and reading file in here.
          ...
          //Change the window's title to the opened file's title.
          CString fileName = fileDlg.GetFileTitle ();
       
          SetWindowText(fileName);
       }
      

  5.   

    char filter[] ="Support Files(*.txt)|*.txt||";
    CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|OFN_NOCHANGEDIR|OFN_ALLOWMULTISELECT,filter);
    dlg.DoModal();