1片秋叶 2016-03-08 07:38 采纳率: 0%
浏览 1589

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);

}
图片说明
图片说明

  • 写回答

2条回答

  • 1片秋叶 2016-03-08 07:39
    关注

    自己顶下,求求大家帮忙下。。

    评论

报告相同问题?

悬赏问题

  • ¥15 MATLAB动图的问题
  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名