MFC 打开文件夹读取图片

简介:  主要使用CFileDialog类实现: // void ReadSource() void ReadSource(){ CFileDialog ccFileDlg(TRUE, NULL, NULL, OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|OFN_ALLOWMULTISELECT, _T("Image files(*.png; *.jp

 主要使用CFileDialog类实现:

// void ReadSource()

void ReadSource()
{
	CFileDialog ccFileDlg(TRUE, NULL, NULL, OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|OFN_ALLOWMULTISELECT, 
		_T("Image files(*.png; *.jpg)|*.png;*.jpg|All files(*.*)|*.*||"), NULL);
	if (ccFileDlg.DoModal() == IDOK)
	{
		CString strPathName = ccFileDlg.GetPathName();
		CString strDir = strPathName.Left(strPathName.ReverseFind('\\'));
		ReadFile(strDir))
		
	}
}

// void ReadFile(const CString& strPath)

bool ReadFile(const CString& strPath)
{
	CFileFind ccFileFind;
	CString strTemp = strPath;
	CString strDir = strPath + _T("\\") + _T("*.*");
	CString strFile;

	BOOL bFind = ccFileFind.FindFile(strDir);
	while (bFind)
	{
		bFind = ccFileFind.FindNextFile();
		if (ccFileFind.IsDots())
		{
			// 如果是".",则不扫描
			continue;
		}
		else if (ccFileFind.IsDirectory())
		{
			// 如果是目录,则继续扫描
			strFile = ccFileFind.GetFileName();
			strTemp = strTemp + _T("\\") + strFile;
			this->ReadFile(strTemp);
		}
		else
		{
			// 如果是资源文件,则存储
			//strFile = ccFileFind.GetFileName();
			strFile = ccFileFind.GetFilePath();	
			m_vecResDirData.push_back(str);  // std::vector<CString> m_vecResDirData
		}
	}
	ccFileFind.Close();
	return true;
}



相关文章
xltd文件怎么打开?教你xltd格式文件打开方法
xltd文件怎么打开?教你xltd格式文件打开方法
1259 0
|
7月前
|
Java
Java【代码 15】文件操作相关方法(获取文件、复制文件、创建文件夹、获取图片文件、写出数据到文件、清理文件夹)
Java【代码 15】文件操作相关方法(获取文件、复制文件、创建文件夹、获取图片文件、写出数据到文件、清理文件夹)
45 0
|
开发者 Python
文件的打开方式 | 学习笔记
快速学习 文件的打开方式
180 0
PyQt5 技术篇-调用文件对话框获取文件、文件夹路径。文件对话框返回选中的多个文件路径
PyQt5 技术篇-调用文件对话框获取文件、文件夹路径。文件对话框返回选中的多个文件路径
2486 0
PyQt5 技术篇-调用文件对话框获取文件、文件夹路径。文件对话框返回选中的多个文件路径
|
存储 缓存 数据格式
文件和文件夹的操作——文件流的使用
文件和文件夹的操作——文件流的使用
272 0
文件和文件夹的操作——文件流的使用
文件和文件夹的操作——文件操作
文件和文件夹的操作——文件操作
117 0