![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
mfc中listcontrol怎样显示指定文件夹下的所有JPG文件
展开全部
//调用show_jpg_files函数获取指定目录下所有尘历的jpg文件,然后使用CListCtrl的InsertItem/SetItemText来显示出来
----------------------------------------------------------------
#define MAX_FILE_NAME_LEN 64
#define MAX_FILE_ITEM_CNT 1024
typedef struct st_file_item
{
int file_name_len;
char file_name[MAX_FILE_NAME_LEN];
}ST_FILE_ITEM;
typedef struct st_file_list
{
int item_cnt;
ST_FILE_ITEM item_array[MAX_FILE_ITEM_CNT];
}ST_FILE_LIST;
void show_jpg_files(char *pchFileDirectoryIn, ST_FILE_LIST *pstListOut)
{
char achFileName[256];
CFileFind finder;
int len = 闷滚0;
int count = 0;
BOOL bWorking = FALSE;
_snprintf(achFileName, sizeof(achFileName), "%s\\*.jpg", pchFileDirectoryIn);
bWorking = finder.FindFile((LPCTSTR)achFileName);
while(bWorking)
{
if(count < MAX_FILE_ITEM_CNT)
{
len = finder.GetFileName().GetLength();
if(len >= MAX_FILE_NAME_LEN)
{
len = MAX_FILE_NAME_LEN-1;
}
pstListOut->item_array[count].file_name_len = len;
memcpy(pstListOut->派罩搜item_array[count].file_name, (char *)(LPCTSTR)finder.GetFileName(), len);
pstListOut->item_array[count].file_name[len] = 0;
count++;
}
else
{
break;
}
bWorking = finder.FindNextFile();
}
pstListOut->item_cnt = count;
finder.Close();
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询