工具类(2)-- 获取文件的路径或者目录路径
2015-11-19 18:32
399 查看
FileFilterClass.h
FileFilterClass.cpp
#pragma once class CFileFilterClass { public: CFileFilterClass(); ~CFileFilterClass(); //浏览文件 void FileBrowser(CString & filePath, CWnd* pParentWnd, LPCTSTR fix); //浏览文件夹 void FileDirBrowser(CString & filePath); };
FileFilterClass.cpp
#include "stdafx.h" #include "FileFilterClass.h" #include <afxdlgs.h> CFileFilterClass::CFileFilterClass() { } CFileFilterClass::~CFileFilterClass() { } /************************************************************************/ /* 方法名称: FileDirBrowser /* 方法全称: CFileFilterClass::FileDirBrowser /* 参数: CString & filePath 获取到的文件目录路径 /* 返回值: void /* 说明: 获取到浏览文件目录的路径 /************************************************************************/ void CFileFilterClass::FileDirBrowser(CString & filePath) { filePath = _T(""); BROWSEINFO bi; WCHAR Buffer[512]; //初始化入口参数bi开始 bi.hwndOwner = NULL; bi.pidlRoot = NULL; bi.pszDisplayName = Buffer;//此参数如为NULL则不能显示对话框 bi.lpszTitle = L"选择路径"; bi.ulFlags = BIF_RETURNONLYFSDIRS; bi.lpfn = NULL; bi.iImage = 0; //初始化入口参数bi结束 LPITEMIDLIST pIDList = SHBrowseForFolder(&bi);//调用显示选择对话框 if (pIDList)//选择到路径(即:点了确定按钮) { SHGetPathFromIDList(pIDList, Buffer); //取得文件夹路径到Buffer里 filePath = Buffer;//将路径保存在一个CString对象里 } return; } /************************************************************************/ /* 方法名称: FileBrowser /* 方法全称: CFileFilterClass::FileBrowser /* 参数: CString & filePath 文件路径 /* 返回值: void /* 说明: 获取到浏览的文件路径 /************************************************************************/ void CFileFilterClass::FileBrowser(CString & filePath, CWnd* pParentWnd, LPCTSTR fix=_T("exe")) { // 设置过滤器 //TCHAR szFilter[] = _T("链接库文件(*.dll)|*.dll|所有文件(*.*)|*.*||"); CString szFiler ; szFiler.Format(_T("文件(*.%s)|*.%s|所有文件(*.*)|*.*||"), fix, fix); // 构造打开文件对话框 CFileDialog fileDlg(true, fix, NULL, 0, szFiler, pParentWnd); // 显示打开文件对话框 if (IDOK == fileDlg.DoModal()) { // 如果点击了文件对话框上的“打开”按钮,则将选择的文件路径显示到编辑框里 filePath = fileDlg.GetPathName(); } }
相关文章推荐
- IOS 把格式化的JSON字符串转换成字典
- c++ 返回对象的引用要小心
- Codeforces Round #280 (Div. 2)_C. Vanya and Exams
- java学习笔记2
- ubuntu14.04,安装rpm程序!!
- ubuntu14.04,安装rpm程序!!
- ubuntu14.04,安装rpm程序!!
- Codeforces Round #280 (Div. 2)_C. Vanya and Exams
- javscript 实现iframe加载内容页出现LOADING效果
- jQuery高级事件
- Filtering F4 Help Values in Table Control, Based On Other Field Value
- top free vmstat
- wamp设置mysql编码格式
- ios 那些不能错过的Xcode插件
- JS碰到一个坑啊,跳不过去
- 学习Hadoop中的几个问题
- 【游戏随机系统模拟】随机位置随机长度的固定文本
- 当数据达到2000或者等待5秒后再次运行
- Webdriver - Firefox 设置地理位置信息相关测试
- 万能适配器 CommonAdapter