热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

给ListControl的第一列加入图片及文字

RT,就像任务管理器的应用程序页面那样一样。。m_list是与CListControl关联的变量CImageListm_ImageList;m_ImageList
RT,就像任务管理器 的应用程序页面那样一样。。
m_list是与CListControl关联的变量

   CImageList m_ImageList;
    
m_ImageList.Create(32,32,ILC_COLOR4|ILC_MASK,0,0);
       m_list.SetImageList(&m_ImageList,LVSIL_NORMAL);


HICON myIcon[3]; 

myIcon[0]=AfxGetApp()->LoadIcon(IDI_ICON1);//注意这里是通过LoadIcon获得HICON 

myIcon[1]=AfxGetApp()->LoadIcon(IDI_ICON2); 

myIcon[2]=AfxGetApp()->LoadIcon(IDI_ICON3); 

m_ImageList.Add(myIcon[0]);
大家我看看我还差哪些语句啊

8 个解决方案

#1


 

CImageList il;
il.Create(16,16,ILC_COLOR,2,2);
il.Add(AfxGetApp()->LoadIcon(IDI_ICON1));
il.Add(AfxGetApp()->LoadIcon(IDI_ICON2));
m_list.SetImageList(&il,LVSIL_SMALL);//LVSIL_NORMAL);
m_list.InsertColumn(0,"姓名",LVCFMT_LEFT,200);
m_list.InsertColumn(1,"年龄",LVCFMT_RIGHT,50);
m_list.InsertItem(0,"小明",0);
m_list.InsertItem(1,"小强",0);
m_list.InsertItem(1,"小璐",1);
 这样就能加入图片了,m_list.InsertItem(0,"小明",0);里的第三个参数是选择第几个图片,就是加入了IDI_ICON1,m_list.InsertItem(1,"小璐",1);加入了IDI_ICON2

#2


我这样做了后,的确"能显示"。
怎么说:我定义了3个ICON是有颜色的,可是这样我看到的图片却全是白色的。。

#3


CImageList imageList;
HICON myIcon[3]; 
myIcon[0]=AfxGetApp()->LoadIcon(IDI_ICON1);//注意这里是通过LoadIcon获得HICON 
myIcon[1]=AfxGetApp()->LoadIcon(IDI_ICON2); 
myIcon[2]=AfxGetApp()->LoadIcon(IDI_ICON3); 

m_list.InsertColumn(0,"姓名",LVCFMT_LEFT,200);
m_list.InsertColumn(1,"年龄",LVCFMT_RIGHT,50);

imageList.Create(32, 32, ILC_COLOR32, 8, 8); 
for(int i=0; i < 3; i++) 

imageList.Add(myIcon[i]); 


m_list.SetImageList(&imageList, LVSIL_STATE); 
for(i=0; i < 3; i++) 

m_list.InsertItem(0,"abc",i); 



这是我改后的代码

#4


m_list.SetImageList(&il,LVSIL_SMALL);这样看看

#5


LVSIL_NORMAL   Image list with large icons.


LVSIL_SMALL   Image list with small icons.


LVSIL_STATE   Image list with state images. 
这三个都试验过了,没用。。不知道哪里出了问题。。

#6



CImageList il; // 定义为成员变量,或者最后加上il.Detach();这句
il.Create(16,16,ILC_COLOR|ILC_MASK,2,2);
il.Add(AfxGetApp()->LoadIcon(IDI_ICON1));
il.Add(AfxGetApp()->LoadIcon(IDI_ICON2));
m_list.SetImageList(&il,LVSIL_SMALL);//LVSIL_NORMAL);
m_list.InsertColumn(0,"ÐÕÃû",LVCFMT_LEFT,200);
m_list.InsertColumn(1,"ÄêÁä",LVCFMT_RIGHT,50);
m_list.InsertItem(0,"СÃ÷",0);
m_list.InsertItem(1,"Сǿ",0);
m_list.InsertItem(1,"Сè´",1);
m_list.InsertItem(0,"СÃ÷",0);
m_list.InsertItem(1,"Сè´",1);
il.Detach();

#7


imageList.Create(16, 16, ILC_COLOR32, 3, 3);这样看看

#8


CImageList il; // 定义为成员变量,或者最后加上il.Detach();这句

il.Detach();

恩,多谢楼上的各位.就是问题。
我想到了,,

这是局部成员变量,OnInitDialog()结束后会释放内存,或者可以把CImageList定义为类的成员变量。
在孙鑫的VC++深入详解里面有的,楼上的一点拨,我记得了。

再次感谢,就此结贴。

推荐阅读
author-avatar
樊家醪糟律_905
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有