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;
}



相关文章
|
存储 缓存 数据格式
文件和文件夹的操作——文件流的使用
文件和文件夹的操作——文件流的使用
216 0
文件和文件夹的操作——文件流的使用
|
C#
C#读写文件、遍历文件、打开保存文件,窗体程序
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.
612 0
文件和文件夹的操作——文件操作
文件和文件夹的操作——文件操作
91 0
|
C++
EXE文件结构及读取方法
出自 “晓风残月xj” 博客 由于各种原因,可能存在诸多不足,欢迎斧正! 一、EXE文件概念      EXE File英文全名executable file ,译作可执行文件,可移植可执行 (PE) 文件格式的文件,它可以加载到内存中,并由操作系统加载程序执行,是可在操作系统存储空间中浮动定位的可执行程序。
1639 0
|
开发者 Python
文件的打开方式 | 学习笔记
快速学习 文件的打开方式
108 0
xltd文件怎么打开?教你xltd格式文件打开方法
xltd文件怎么打开?教你xltd格式文件打开方法