一、可绑定一个按钮事件,在事件中添加如下代码实现文件路径选择
UpdateData(TRUE);
CString szFilterFDlg = "SCDCC码(*.bmp)|*.bmp||";
CFileDialog fileDlg(TRUE, "cup", "", NULL, szFilterFDlg, NULL); ///TRUE为OPEN对话框,FALSE为SAVE AS对话框
fileDlg.m_ofn.lpstrInitialDir= "c:\\windows\\"; //指定打开文件夹,如果没有此文件夹,则一般默认打开“我的文档”
if(fileDlg.DoModal() == IDOK)
{
m_sFile = fileDlg.GetPathName();
UpdateData(FALSE);
}
CFileDialog::CFileDialog( BOOL bOpenFileDialog,
LPCTSTR lpszDefExt = NULL,
LPCTSTR lpszFileName = NULL,
DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
LPCTSTR lpszFilter = NULL,
CWnd* pParentWnd = NULL );
参数意义如下:bOpenFileDialog 为TRUE则显示打开对话框,为FALSE则显示保存对话文件对话框。 lpszDefExt 指定默认的 文件扩展名 。 lpszFileName 指定默认的文件名。 dwFlags 指明一些特定风格。 lpszFilter 是最重要的一个参数,它指明可供选择的文件类型和相应的扩展名。参数格式如: "Chart Files (*.xlc)|*.xlc|Worksheet Files (*.xls)|*.xls|Data Files (*.xlc;*.xls)|*.xlc; *.xls|All Files (*.*)|*.*||";文件类型说明和扩展名间用 | 分隔,同种类型文件的扩展名间可以用 ; 分割,每种文件类型间用 | 分隔,末尾用 || 指明。 pParentWnd 为父窗口指针。
二、获取路径后,可通过access函数判断路径下文件是否存在
PathFileExists 函数也可以用来查看一个文件或文件夹是否存在。
用法:
在头文件中
#include <shlwapi.h>
#pragma comment(lib,"Shlwapi.lib") //如果没有这行,会出现link错误
if (PathFileExists(strDBPath))
{
}
else //不存在