我写了个这样的过滤形式"(*.mif)|.mif|All(*.*)|*.*||",但是在运行时,却不起任何作用,还是显示所有的文件。请问如何解决?多谢!

解决方案 »

  1.   

    ofn.lpstrFilter ="(*.mif)\0.mif\0All(*.*)\0*.*\0",
      

  2.   

    多谢,按照楼上的做法又出现新的问题了,现在是所有的文件都不显示了,既是.mif文件也不显示,请问为什么?
      

  3.   

    OPENFILENAME ofn;       // common dialog box structure
    char szFile[260];       // buffer for file name
    HWND hwnd;              // owner window
    HANDLE hf;              // file handle// Initialize OPENFILENAME
    ZeroMemory(&ofn, sizeof(ofn));
    ofn.lStructSize = sizeof(ofn);
    ofn.hwndOwner = hwnd;
    ofn.lpstrFile = szFile;
    //
    // Set lpstrFile[0] to '\0' so that GetOpenFileName does not 
    // use the contents of szFile to initialize itself.
    //
    ofn.lpstrFile[0] = '\0';
    ofn.nMaxFile = sizeof(szFile);
    ofn.lpstrFilter = "All\0*.*\0Text\0*.TXT\0";
    ofn.nFilterIndex = 1;
    ofn.lpstrFileTitle = NULL;
    ofn.nMaxFileTitle = 0;
    ofn.lpstrInitialDir = NULL;
    ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;
    你可以参照这个