在windows系统下,当我们打开某个磁盘时,总会显示所有的文件,包括文件名和文件图标,采用VC的列表视图控件可以实现读取指定路径下的文件,并显示所有文件的文件名和文件图标。先上效果图:
接下来是具体实现:
1.创建一个对话框,并在对话框中加入一个列表视图控件,控件样式是ICON,控件关联一个变量m_ListCtrl.
2.创建CImageList类,并设定列表视图控件的图象列表,示例代码如下:
- m_Image.Create(GetSystemMetrics(SM_CXICON),
- GetSystemMetrics(SM_CYICON),ILC_COLOR24,50,50);
- m_ListCtrl.SetImageList(&m_Image,LVSIL_NORMAL);
3.采用CFileFind类查找文件的同时,用API函数SHGetFileInfo获取文件的图标,并存放到CImageList类中,再用CListCtrl类的成员方法InsertItem把文件名和文件图标一起插入,示例代码如下: