MFC/浏览文件或文件夹
2016-05-20 21:02
323 查看
浏览文件:
CFileDialog dlg(TRUE, _T("mc"), _T(""), OFN_OVERWRITEPROMPT, _T("Ini File(*.ini)|*.ini|"));
if(dlg.DoModal() == IDOK)
{
CString sFilePath = dlg.GetPathName();
GetDlgItem(IDC_EDIT_FILEPATH)->SetWindowText(sFilePath);
UpdateData(FALSE);
}
CFileDialog 类的构造函数:
CFileDialog(BOOL bOpenFileDialog, // TRUE for FileOpen, FALSE for FileSaveAs
LPCTSTR lpszDefExt = NULL, // 缺省的扩展名
LPCTSTR lpszFileName = NULL, // 缺省显示在文件名组合框的编辑框的文件名,一般可选NULL
DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
LPCTSTR lpszFilter = NULL,
CWnd* pParentWnd = NULL); //pParentWnd:父窗口指针,一般可选NULL.
类型:
//dwFlags 对话框风格,一般为OFN_HIDEREADONLY
| OFN_OVERWRITEPROMPT, 即隐藏只读选项和覆盖已有文件前提示。
OFN_HIDEREADONLY:隐藏只读选项
OFN_OVERWRITEPROMPT:覆盖已有文件前提
OFN_ALLOWMULTISELECT:允许选择多个文件
OFN_CREATEPROMPT:如果输入的文件名不存在,则对话框返回询问用户是否根据次文件名创建文件的消息框
OFN_FILEMUSTEXIST:只能输入已存在的文件名
OFN_FORCESHOWHIDDEN:可以显示隐藏的文件
OFN_NOREADONLYRETURN:不返回只读文件
OFN_OVERWRITEPROMPT:保存的文件已存在时,显示文件已存在的信息
lpszFilter:文件筛选类型,它指明可供选择的文件类型和相应的扩展名。参数格式如:
"Chart Files (*.xlc)|*.xlc|Worksheet Files (*.xls)|*.xls|Data Files (*.xlc;*.xls)|*.xlc; *.xls|All Files (*.*)|*.*||";文件类型说明和扩展名间用
| 分隔,同种类型文件的扩展名间可以用 ; 分割,每种文件类型间用 | 分隔,末尾用 || 指明。
打开文件夹:
MFC中没有专门打开文件夹的类
BROWSEINFO bi;
ZeroMemory(&bi,sizeof(BROWSEINFO));
bi.hwndOwner = NULL;
bi.pszDisplayName = szBuffer;
bi.lpszTitle = _T("从下面选文件夹目录:");
bi.ulFlags = BIF_RETURNFSANCESTORS;
LPITEMIDLIST idl = SHBrowseForFolder(&bi);
if (NULL == idl)
{
return;
}
SHGetPathFromIDList(idl,szBuffer);
//显示在IDC_EDIT_PATH中
GetDlgItem(IDC_EDIT_PATH) -> SetWindowText(szBuffer);
CFileDialog dlg(TRUE, _T("mc"), _T(""), OFN_OVERWRITEPROMPT, _T("Ini File(*.ini)|*.ini|"));
if(dlg.DoModal() == IDOK)
{
CString sFilePath = dlg.GetPathName();
GetDlgItem(IDC_EDIT_FILEPATH)->SetWindowText(sFilePath);
UpdateData(FALSE);
}
CFileDialog 类的构造函数:
CFileDialog(BOOL bOpenFileDialog, // TRUE for FileOpen, FALSE for FileSaveAs
LPCTSTR lpszDefExt = NULL, // 缺省的扩展名
LPCTSTR lpszFileName = NULL, // 缺省显示在文件名组合框的编辑框的文件名,一般可选NULL
DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
LPCTSTR lpszFilter = NULL,
CWnd* pParentWnd = NULL); //pParentWnd:父窗口指针,一般可选NULL.
类型:
//dwFlags 对话框风格,一般为OFN_HIDEREADONLY
| OFN_OVERWRITEPROMPT, 即隐藏只读选项和覆盖已有文件前提示。
OFN_HIDEREADONLY:隐藏只读选项
OFN_OVERWRITEPROMPT:覆盖已有文件前提
OFN_ALLOWMULTISELECT:允许选择多个文件
OFN_CREATEPROMPT:如果输入的文件名不存在,则对话框返回询问用户是否根据次文件名创建文件的消息框
OFN_FILEMUSTEXIST:只能输入已存在的文件名
OFN_FORCESHOWHIDDEN:可以显示隐藏的文件
OFN_NOREADONLYRETURN:不返回只读文件
OFN_OVERWRITEPROMPT:保存的文件已存在时,显示文件已存在的信息
lpszFilter:文件筛选类型,它指明可供选择的文件类型和相应的扩展名。参数格式如:
"Chart Files (*.xlc)|*.xlc|Worksheet Files (*.xls)|*.xls|Data Files (*.xlc;*.xls)|*.xlc; *.xls|All Files (*.*)|*.*||";文件类型说明和扩展名间用
| 分隔,同种类型文件的扩展名间可以用 ; 分割,每种文件类型间用 | 分隔,末尾用 || 指明。
打开文件夹:
MFC中没有专门打开文件夹的类
BROWSEINFO bi;
ZeroMemory(&bi,sizeof(BROWSEINFO));
bi.hwndOwner = NULL;
bi.pszDisplayName = szBuffer;
bi.lpszTitle = _T("从下面选文件夹目录:");
bi.ulFlags = BIF_RETURNFSANCESTORS;
LPITEMIDLIST idl = SHBrowseForFolder(&bi);
if (NULL == idl)
{
return;
}
SHGetPathFromIDList(idl,szBuffer);
//显示在IDC_EDIT_PATH中
GetDlgItem(IDC_EDIT_PATH) -> SetWindowText(szBuffer);
相关文章推荐
- 浅谈设计模式之观察者模式
- Jsp——http status 404 问题
- C/C++中虚函数的调用
- 在linux下安装android模拟器
- 【Java基础】基本类型与运算
- C++的函数的重载
- 文件查看命令
- Android之解决Android Studio 出现ADB not responding.... kill "adb.exe" and click 'Restart'
- 给图片设置小圆点
- 多线程 - Callable接口
- HTTP状态码
- PHP之路——MySql基础操作语句
- JavaScript之bind,call,apply
- MySQL入门——约束简介、外键约束说明、外键约束主表与子表的创建与使用约束案例
- cxf client在后台不通且chunk设置为false的时候不能在控制台输出请求日志
- 使用rm cp mv 命令
- [leetcode] 173. Binary Search Tree Iterator
- sendBroadcastAsUser——Calling a method in the system process without a qualified user
- 数据结构----直接插入排序
- 通过JAVASCRPIT给input【text】赋值