自己实现一个了,只显示指定文件夹下的文件,让用户选择。

解决方案 »

  1.   

    具体查一下MSDN
    CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, LPCTSTR lpszFilter = NULL, CWnd* pParentWnd = NULL );
    看一下这个标志符
    dwFlagsA combination of one or more flags that allow you to customize the dialog box. For a description of these flags, see the OPENFILENAME structure in the Win32 SDK documentation. If you modify the m_ofn.Flags structure member, use a bitwise-OR operator in your changes to keep the default behavior intact.
    里面有这个结构
    OPENFILENAMEtypedef struct tagOFN { // ofn 
        DWORD         lStructSize; 
        HWND          hwndOwner; 
        HINSTANCE     hInstance; 
        LPCTSTR       lpstrFilter; 
        LPTSTR        lpstrCustomFilter; 
        DWORD         nMaxCustFilter; 
        DWORD         nFilterIndex; 
        LPTSTR        lpstrFile; 
        DWORD         nMaxFile; 
        LPTSTR        lpstrFileTitle; 
        DWORD         nMaxFileTitle; 
        LPCTSTR       lpstrInitialDir; 
        LPCTSTR       lpstrTitle; 
        DWORD         Flags; 
        WORD          nFileOffset; 
        WORD          nFileExtension; 
        LPCTSTR       lpstrDefExt; 
        DWORD         lCustData; 
        LPOFNHOOKPROC lpfnHook; 
        LPCTSTR       lpTemplateName; 
    } OPENFILENAME; 
    结构里的这个flags置为OFN_NOCHANGEDIR 
    Flags 
    OFN_NOCHANGEDIR 
     Restores the current directory to its original value if the user changed the directory while searching for files.