c++学习笔记-电路板检测-图像拼接(2)-文件夹路径读取

文件夹的路径读取和文件的路径读取还是有区别,一不小心就会掉个大坑
1.文件夹路径读取
CString m_filePath = _T(""); //获取的文件夹路径
CFolderPickerDialog fd(NULL, 0, this, 0);
if (fd.DoModal() == IDOK)
{
m_filePath = fd.GetPathName();
}
CFolderPickerDialog需要添加头文件 afxdlgs.h
参数:
explicit CFolderPickerDialog(
LPCTSTR lpszFolder = NULL,
DWORD dwFlags = 0,
CWnd* pParentWnd = NULL,
DWORD dwSize = 0
);
(1)lpszFolder
初始文件夹。

(2)dwFlags
允许您自定义对话框一个或多个标记的组合。

(3)pParentWnd
指针到对话框对象的父级或所有者窗口。

(4)dwSize
OPENFILENAME结构的大小。

这是在微软网页找到的参数,不是很明白这几个参数的作用,还有为什么在实际使用中,第三个参数填了this,是没有扩展名的意思吗?如果有大神知道希望能够留言告诉我

2.文件路径读取
CFileDialog::CFileDialog
(
BOOL bOpenFileDialog,
LPCTSTR lpszDefExt = NULL,
LPCTSTR lpszFileName = NULL,
DWORD dwFlags = OFN_HIDEREADONLY |OFN_OVERWRITEPROMPT,
LPCTSTR lpszFilter = NULL,
CWnd* pParentWnd = NULL
);
(1)读取路径下所有文件
CString picPath; //定义图片路径变量
CFileDialog dlg(TRUE, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT | OFN_ALLOWMULTISELECT, NULL, this); //选择文件对话框
if (dlg.DoModal() == IDOK)
{
picPath = dlg.GetPathName(); //获取图片路径
}
string picpath = (CT2A)picPath.GetBuffer(0);
(2)读取路径下指定后缀的文件
CString filter;
CString picPath; //定义图片路径变量
filter = “All Files (.)|.|JPGtu图片(.jpg)|.jpg|BMP图像(.bmp)|.bmp|PNG图片(.png)|.png||”;
CFileDialog dlg(TRUE, NULL, NULL, OFN_HIDEREADONLY, filter);
if (dlg.DoModal() == IDOK)
{
picPath = dlg.GetPathName(); //获取图片路径
}

(3)参数

TRUE则显示打开文件对话框,FALSE则显示保存文件对话框。
  lpszDefExt
指定默认的文件扩展名。
  lpszFileName
指定默认的文件名。
  dwFlags
指明一些特定风格。
  lpszFilter
是最重要的一个参数,它指明可供选择的文件类型和相应的扩展名。
pParentWnd
为父窗口指针。

猜你喜欢

转载自blog.csdn.net/puqian13/article/details/84977694
今日推荐