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

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 fluent的在模拟压强时使用希望得到一些建议
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 Web.config连不上数据库
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
  • ¥15 怎么配置广告联盟瀑布流
  • ¥15 Rstudio 保存代码闪退