CFileDialog(BOOL bOpenFileDialog,
LPCTSTR lpszDefExt = NULL,
LPCTSTR lpszFileName = NULL,
DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
LPCTSTR lpszFilter = NULL,
CWnd* pParentWnd = NULL
);
默认情况下,构建CFileDialog类对象后的,程序的路径就会改变为打开或保存的文件的路径了。
如果想要不改变路径:
1、dwFlags 设置为OFN_NOCHANGEDIR。但是此法仅对“打开”适用。因为如果在“另存为”中设置时,文件会始终另存在程序所在的路径,这显然不是我们所希望的。
例:
2、在构造CFileDialog类对象之前,用win32API的GetCurrentDirectory()函数获取当前路径,并保存,然后在构造CFileDialog类对象后,用SetCurrentDirectory()再设置回来。
例: