为CFileDialog类指定一个默认的文件夹

CFileDialog类说明 
在MFC中编程序,如果想使用选择文件对话框功能,CFileDialog类是首选。它可以简便打开选择文件的对话框,让使用者选择一个或者多个文件。一般使用时,默认是打开“我的文档”,使用者不得不使用鼠标再次点选其他的文件夹。假如,我们想让CFileDialog打开自己指定的文件夹目录呢? 又如何实现呢。本文将告诉你如何实现这种功能。 


CFileDialog使用实例 
折叠展开 C/C++ Code 
CString strFile;     
CString defExe("dat");     
CString defFileName("*.dat");     
CString defFilter("数据文档(*.dat)|*.dat|所有文件(*.*)|*.*|");     
CFileDialog dlg(true,defExe,defFileName,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,defFilter);     
dlg.m_ofn.lpstrInitialDir= "c:\windows\"; //指定文件夹     
if(dlg.DoModal()==IDOK)     
{     
   strFile = dlg.GetPathName();     
   MessageBox(strFile);     
}    


在上述代码中,我们指定了一个默认的文件夹“C:windows”,当你运行上段代码时,文件选择对话框就会打开你设置的默认文件夹;如果此文件夹不存在,就会打开它自己默认的文件夹,比如“我的文档”。 


上述代码中,defExe是定义了默认打开的文件类型(扩展名),defFileName则定义了打开的文件名,defFilter是过滤文件类型。 当你点击“确定”,就会进入if语句中,strFile则得到你选择的文件全部路径,如 “C:windowssystem32cmd.exe”等。

原文地址:https://www.cnblogs.com/For-her/p/3630832.html