已知文件夹路径,怎么列出文件夹内所有图片文件

adelezy 2009-08-26 12:24:17
已经由一个Browseinfo对话获得了一个文件夹路径
想把文件夹里所有图片插入一个imagelist
怎么获取这个文件夹内所有的图片文件呢?
...全文
192 点赞 收藏 7
写回复
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangrenhui 2009-08-26
 CFileFind  fileFind;
strFileTxt = "本地目录" + "*.jpg"; // bmp, tif, png,采用相同方式处理

// 在本地目录下查找是否有图片文件文件
if( fileFind.FindFile( (LPCTSTR) strFileTxt ) )
{
while( fileFind.FindNextFile())
{
// 获得文件名
strFileName = fileFind.GetFileName();
// 添加最后一个文件到列表中,LZ根据需要添加
}
}
回复
zhangrenhui 2009-08-26
CFileFind  fileFind;
strFileTxt = "本地目录" + "*.jpg"; // bmp, tif, png,采用相同方式处理

// 在本地目录下查找是否有图片文件文件
if( fileFind.FindFile( (LPCTSTR) strFileTxt ) )
{
// 查找下一个文件
fileFind.FindNextFile();
// 获得文件名
strFileName = fileFind.GetFileName();
// 添加最后一个文件到列表中,LZ根据需要添加
}
回复
bobohack 2009-08-26
1111111111111
回复
dirdirdir3 2009-08-26
通过后缀名来判断,然后findfirstfile,findnextfile.........
回复
gamedragon 2009-08-26
find_file
回复
adelezy 2009-08-26
这是部分代码:
void CXXXDlg::OnFileopen()
{
// TODO: Add your control notification handler code here
CString m_FileDir;
BROWSEINFO m_bi;
ZeroMemory(&m_bi, sizeof(BROWSEINFO));
m_bi.hwndOwner = m_hWnd;
m_bi.ulFlags = BIF_RETURNONLYFSDIRS;
LPITEMIDLIST pidl = SHBrowseForFolder(&m_bi);
BOOL bRet = false;
TCHAR szFolder[MAX_PATH*2];
szFolder[0] = _T(' ');
if(pidl)
{
if(SHGetPathFromIDList(pidl, szFolder))
{
bRet = TRUE;

}
IMalloc *pMalloc = NULL;
if(SUCCEEDED(SHGetMalloc(&pMalloc))&&pMalloc)
{
pMalloc->Free(pidl);
pMalloc->Release();
}
m_FileDir = szFolder;
}
}
回复
adelezy 2009-08-26
谢谢楼上 问题解决

CFileFind fileFind;
strFileTxt = "本地目录" + "*.jpg"; // bmp, tif, png,采用相同方式处理

// 在本地目录下查找是否有图片文件文件
if( fileFind.FindFile( (LPCTSTR) strFileTxt ) )
{
while( fileFind.FindNextFile())
{
// 获得文件名
strFileName = fileFind.GetFileName();
// 添加最后一个文件到列表中,LZ根据需要添加
}
//注意此处还应该再写一遍操作 否则会漏掉最后一个文件
}
回复
发动态
发帖子
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
社区公告
暂无公告