您的位置:首页 > 服装鞋帽 > 女装 > 使用VC显示所有文件的文件名和文件图标

使用VC显示所有文件的文件名和文件图标

luyued 发布于 2011-06-20 05:28   浏览 N 次  

在windows系统下,当我们打开某个磁盘时,总会显示所有的文件,包括文件名和文件图标,采用VC的列表视图控件可以实现读取指定路径下的文件,并显示所有文件的文件名和文件图标。先上效果图:

接下来是具体实现:

1.创建一个对话框,并在对话框中加入一个列表视图控件,控件样式是ICON,控件关联一个变量m_ListCtrl.

2.创建CImageList类,并设定列表视图控件的图象列表,示例代码如下:

Code:
  1. m_Image.Create(GetSystemMetrics(SM_CXICON),
  2. GetSystemMetrics(SM_CYICON),ILC_COLOR24,50,50);
  3. m_ListCtrl.SetImageList(&m_Image,LVSIL_NORMAL);

3.采用CFileFind类查找文件的同时,用API函数SHGetFileInfo获取文件的图标,并存放到CImageList类中,再用CListCtrl类的成员方法InsertItem把文件名和文件图标一起插入,示例代码如下:

Code:
  1. SHFILEINFO sfi;
  2. CFileFind* fileFind=new CFileFind();
  3. BOOL res = fileFind->FindFile("d:\\程序\\*.*");
  4. int i=0;
  5. while(res)
  6. {
  7. res = fileFind->FindNextFile();
  8. if(fileFind->IsDirectory())
  9. continue;
  10. SHGetFileInfo(fileFind->GetFilePath(),0,
  11. &sfi,sizeof(sfi),SHGFI_ICON);
  12. m_Image.Add(sfi.hIcon);
  13. m_ListCtrl.InsertItem(i, fileFind->GetFileName(), i);
  14. i++;
  15. }
图文资讯
广告赞助商