工具类(2)-- 获取文件的路径或者目录路径

来源:互联网 发布:广州天河网络作家招聘 编辑:程序博客网 时间:2024/05/16 09:42


FileFilterClass.h

#pragma onceclass 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();}}


0 0
原创粉丝点击