CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

各位大虾,怎样在ListCtrl列表中加入图标呀?

楼主superdreamer(只懂一点点!)2001-11-05 15:50:24 在 VC/MFC / 基础类 提问

我是这样处理的:在OnInitDialog中生成m_pImageList  
  m_pImageList=new   CImageList;  
  m_pImageList->Create(IDB_BITMAP,16,1,RGB(0,255,0));  
  在另一函数中使用:  
  lvItem.mask=LVIF_TEXT|LVIF_IMAGE|LVIF_PARAM;  
  m_MainListCtl.SetImageList   (m_pImageList,LVSIL_NORMAL);  
  lvItem.iSubItem=0;  
  lvItem.iItem=i;  
   
  lvItem.pszText=UserData->Name;  
  lvItem.lParam=i;  
  lvItem.iImage=1;  
   
  m_MainListCtl.InsertItem(&lvItem);  
  m_MainListCtl.SetTextColor(RGB(255,255,255));  
  但怎么   弄我都把他显示不出来,各位大虾帮忙呀!谢谢了,先! 问题点数:20、回复次数:8Top

1 楼gxh(我是一只菜菜菜菜鳥)回复于 2001-11-05 16:07:20 得分 0

有沒有用m_pImageList->Add()?Top

2 楼bon9527(bon9527)回复于 2001-11-05 16:17:28 得分 0

用m_MainListCtl.SetImageList   (&m_pImageList,LVSIL_NORMAL);试试  
  Top

3 楼use_id(use_id)回复于 2001-11-05 16:25:36 得分 10

加载小图片  
   
  CImageList m_imgList;  
   
  void   CMy011017D00Dlg::Init()  
  {  
  DWORD   NewStyle   =   LVS_EX_FULLROWSELECT|LVS_EX_SUBITEMIMAGES;  
  m_ctlTestLt.SetExtendedStyle(NewStyle);  
   
  //   IDB_ADMINISTRATOR_BMP   为BMP资源  
  m_imgList.Create(IDB_ADMINISTRATOR_BMP,10,   60,   (COLORREF)-1   );  
  m_ctlTestLt.SetImageList(&m_imgList,LVSIL_SMALL);  
   
  m_ctlTestLt.InsertColumn(1,_T("   Online   list   "),LVCFMT_LEFT,100,-1);  
   
  LVITEM   li;  
   
          li.mask   =   LVIF_IMAGE|LVIF_TEXT;  
          li.iItem   =   0;  
          li.iSubItem   =   0;  
          li.iImage   =   0;  
          li.pszText   =   _T("   Administrator");  
   
  m_ctlTestLt.InsertItem(0,"");  
  m_ctlTestLt.SetItem(   &li);  
   
  for(int   i=0;i<30;i++)  
  {  
  li.iItem   =   i;  
  m_ctlTestLt.InsertItem(i,"");  
  m_ctlTestLt.SetItem(   &li);  
  }  
  }Top

4 楼bon9527(bon9527)回复于 2001-11-05 16:32:58 得分 0

对了,你好像没有用add();Top

5 楼fwsland(fwsland)回复于 2001-11-05 16:37:17 得分 10

你的m_pImageList->Create(IDB_BITMAP,16,1,RGB(0,255,0));应改为:  
    m_pImageList->Create(16,16,TRUE,0,1);  
  此外:m_MainListCtl.InsertItem(&lvItem);最好不要用,因为要用到TV_ITEM结构,非常的烦,  
  建议你用它的另一种重载的形式:  
  HTREEITEM   InsertItem(LPCTSTR   lpszItem,   int   nImage,   int   nSelectedImage,         HTREEITEM   hParent=TVI_ROOT,   HTREEITEM   hInsertAfter=TVI_LAST);(祥见MSDN)  
  (附:我的QQ:16879730   ,EMAIL:fanwenshengcom@sohu.com)  
  Top

6 楼shizf()回复于 2001-11-05 16:54:54 得分 0

HICON   hIcon;  
  hIcon=AfxGetApp()->LoadIcon(IDR_YOURICON);  
  m_imageList.Add(hIcon);  
  必须给ImageList加Icon,代码如上,按加入的先后顺序,分别为1,2,3,......Top

7 楼superdreamer(只懂一点点!)回复于 2001-11-05 17:10:58 得分 0

各位大虾,谢谢你们的回答,我的问题解决了,谢谢!  
  没有用Add()方法,因为我在Create()时加入了位图ID(IDB_BITMAP)我只是把LVSIL_NORMAL改为LVSIL_SMALL就搞定了,我也不知什么原因!Top

8 楼superdreamer(只懂一点点!)回复于 2001-11-05 17:14:39 得分 0

to   fwsland(fwsland):我的QQ   是:82257575   EMAIL:wwzh12501@sohu.com但是我们公司前几天把端口给关了,不能上了,  
  我接触VC几个月,望以后多交流,谢谢!Top

相关问题

  • 如何在listctrl中加入小图标?(16*16)
  • listctrl显示图标
  • 列表控件的图标排列
  • TreeCtrl如何用系统图标列表中的图标啊?
  • ListCtrl显示图标问题
  • 超级菜鸟问题 怎样在listctrl里加入图标 如oicq那样 提醒有分哦
  • 在地址栏中加入加入图标!!在收藏夹中加入图标!!!
  • 如何改变listCtrl的图标索引
  • 怎么改变列表控制每一项的图标?
  • 如何在列表框里显示图标

关键词

  • lvitem
  • ctltestlt
  • mainlistctl
  • 大虾
  • pimagelist
  • lvsil
  • lvif
  • idb
  • imglist
  • insertitem

得分解答快速导航

  • 帖主:superdreamer
  • use_id
  • fwsland

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo