window下打开文件选择对话框和浏览对话框的方式
1.文件对话框的打开代码
CFileDialog dlg(TRUE , ".map" , NULL , OFN_HIDEREADONLY , "map文件(*.map)|*.map|所有文件(*.*) |*.*||" );
CString file_path;
CString temp_path;
if (dlg.DoModal() == IDOK) {
file_path = dlg.GetPathName();//获取文件的全路径
//file_path.Replace("\\","\\\\");//将/替换为//
file_path.Replace("\\","/");
temp_path.Format("%s%s",file_path.GetBuffer(1),"/");
}
CFileDialog文件选择对话框的使用:
首先构造一个对象并提供相应的参数,构造函数原型如下:
CFileDialog::CFileDialog(
BOOL bOpenFileDialog, //为TRUE则显示打开对话框,为FALSE则显示保存对话文件对话框
LPCTSTR lpszDefExt = NULL, //默认的文件扩展名
LPCTSTR lpszFileName = NULL, //默认的文件名
DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, //设定风格
LPCTSTR lpszFilter = NULL, //列出可供选择的文件类型和相应的扩展名
CWnd* pParentWnd = NULL //父窗口句柄指针
);
LPCTSTR lpszFilter 参数格式如:"Chart Files (*.xlc)|*.xlc|Worksheet Files (*.xls)|*.xls|Data Files (*.xlc;*.xls)|*.xlc;*.xls|All Files (*.*)|*.*||";文件类型说明和扩展名间用 | 分隔,同种类型文件的扩展名间可以用 ; 分割,每种文件类型间用 | 分隔,末尾用 || 指明。
2.文件夹浏览对话框的代码
TCHAR path[1024];
BROWSEINFO info={0};
info.hwndOwner = NULL;
info.pidlRoot = NULL;
info.lpszTitle = "选择合并后文件目录";
info.ulFlags = 0;
info.pszDisplayName = path;
info.lpfn = NULL;
info.lParam = NULL;
info.iImage = NULL;
LPCITEMIDLIST pidl=SHBrowseForFolder(&info);
if( pidl == NULL) return;
SHGetPathFromIDList(pidl,path);
m_DestBrowseDir.Format("%s%s",path,"\\");、
摘自 apn172的专栏
补充:软件开发 , 其他 ,