问题描述
- ListCtrl 显示文件详细的时候图标不显示
-
初始化内容:第一种写法
//这样子列表的图标不显示
m_ImageList.Create(16, 16, ILC_COLOR32, 10, 30);
m_ListView.SetImageList(&m_ImageList,LVSIL_NORMAL);m_ListView.InsertColumn(0,_T("000"),LVCFMT_LEFT,160, 50);
m_ListView.InsertColumn(1,_T("1111"),LVCFMT_LEFT,100, 50);
m_ListView.InsertColumn(2,_T("2222"),LVCFMT_LEFT,80, 50);m_ListView.InsertColumn(3,_T("333"),LVCFMT_LEFT,50, 50);
m_ListView.ModifyStyle(0, LVS_REPORT | LVS_SHOWSELALWAYS);
m_ListView.SetExtendedStyle(LVS_EX_SUBITEMIMAGES | LVS_EX_FULLROWSELECT | LVS_EX_HEADERDRAGDROP);第二种写法
//这样子写初始化的图标会显示
m_ImageList.Create(32, 32, ILC_COLOR32, 10, 30);
m_ListView.SetImageList(&m_ImageList,LVSIL_NORMAL);
m_ListView.ModifyStyle(0, LVS_ALIGNTOP); m_ListView.SetExtendedStyle(LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT);这是两种显示布局,一种是大图标的,大图标是正常显示的,
而如果我换成列表的话就没有办法显示系统相对应的图标,只能显示文件名。
//==============================================================//
//同时读取文件和文件夹
if(!file.IsDots())
{
SHFILEINFO info;
CString temp = str;
int index = temp.Find(_T("*.*"));
temp.Delete(index,3);
CString wStr;
wStr = temp + file.GetFileName();
SHGetFileInfo(wStr, 0, &info,sizeof(&info), SHGFI_DISPLAYNAME | SHGFI_ICON);
int i = m_ImageList.Add(info.hIcon);
m_ListView.InsertItem(i,info.szDisplayName,i);
解决方案
自己顶下,求求大家帮忙下。。
解决方案二:
http://bbs.csdn.net/topics/350187580