CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

在树中添加图标,我快疯了!!~~~

楼主chjc2003(至尊拖鞋)2004-09-01 12:53:48 在 VC/MFC / 基础类 提问

如何在树控件中添加图标?  
  要用到CImageList的Create方法吧。  
  但不是很清楚。  
  如BOOL   Create(  
        UINT   nBitmapID,  
        int   cx,  
        int   nGrow,  
        COLORREF   crMask    
  );  
  BOOL   Create(  
        LPCTSTR   lpszBitmapID,  
        int   cx,  
        int   nGrow,  
        COLORREF   crMask    
  );  
   
  我自己画了几个稿图,但就是加不进去,用系统自带的IDR_MAINFRAME这个程序图标就可以,但只是显示空白而已。  
  难道用只能用位图?位图是什么概念,不会是很多图标吧?  
   
  还有,后面的crMask   是用来覆盖或遮掩图标的吧,要设成多少比较合适? 问题点数:20、回复次数:8Top

1 楼laiyiling(陌生人[MVP])回复于 2004-09-01 13:01:57 得分 4

http://218.108.41.12/vchome/book/imagelist.htmTop

2 楼flyelf(空谷清音)回复于 2004-09-01 13:10:54 得分 4

贴出你的代码看看Top

3 楼LongLongAgoImBoy(ThereIsAMe)回复于 2004-09-01 13:15:14 得分 4

void   CMyTreeCtrl::InitializeImageList()  
  {  
  CImageList*   pImageList   =   new   CImageList();  
  pImageList->Create(16,   16,/*位图的宽度和高度,其他的没用过*/    
  ILC_MASK   |   ILC_COLOR24/*位图颜色*/,   5,   2);  
   
  CBitmap   bitmap;  
  for(int   i=0;   i<IMAGE_BITMAP_NUM;   i++)  
  {  
  UINT   nID   =   BITMAP_IDS[i];//获得位图资源的ID号  
  bitmap.LoadBitmap(nID);//载入位图  
  pImageList->Add(&bitmap,   (COLORREF)0xFFFFFF);//加入到ImageList  
  bitmap.DeleteObject();  
  }  
  SetImageList(pImageList,   TVSIL_NORMAL);  
  }  
  //在你加入ITEM到CTreeCtrl中时,指定iImage和iImageSel的值是在ImageList中Add的顺序值Top

4 楼zhushizu(从来就没有救世祖)回复于 2004-09-01 13:46:13 得分 0

是呀,我也是想了好久。。关注中。。。Top

5 楼888atao(阿涛)回复于 2004-09-01 14:05:06 得分 4

你写的是局部变量  
  把CImageList*   pImageList放到.h中去  
   
  否则当然只能看到空白了  
  Top

6 楼yuantao(cfan)回复于 2004-09-01 14:51:46 得分 4

HICON   hIcon[6];  
  int   n;  
   
  //初始化imagelist  
  m_imageList.Create(16,16,ILC_COLOR24,6,8);  
  m_imageList.SetBkColor(RGB(255,255,255));  
  hIcon[0]   =   AfxGetApp()->LoadIcon(IDI_ICON_PRODUCT);  
  hIcon[1]   =   AfxGetApp()->LoadIcon(IDI_ICON_TXT);  
  hIcon[2]   =   AfxGetApp()->LoadIcon(IDI_ICON_EXE);  
          hIcon[3]   =   AfxGetApp()->LoadIcon(IDI_ICON_INI);  
  hIcon[4]   =   AfxGetApp()->LoadIcon(IDI_ICON_DLL);  
  hIcon[5]   =   AfxGetApp()->LoadIcon(IDI_ICON_HTML);  
   
  for(n=0;n<6;n++)  
  {  
  m_imageList.Add(hIcon[n]);  
  }  
   
  m_pTreeCtrl->SetImageList(&m_imageList,   TVSIL_NORMAL);  
  这样不就可以了吗Top

7 楼chjc2003(至尊拖鞋)回复于 2004-09-01 15:52:42 得分 0

哈哈,果然是声明了局部变量了。  
   
  看来不够认真啊,真是经验之谈!!~~  
   
  佩服佩服。  
   
  多谢各位的热心!~~Top

8 楼chjc2003(至尊拖鞋)回复于 2004-09-01 16:03:58 得分 0

系统的TOOLBAR那一组图标就是位图了吧?  
  我们自己也可以画的吧。Top

相关问题

  • 图标。如何添加图标?
  • 求:树型控件中,小标题上添加图标的方法!!!谢谢!
  • 给菜单前面添加图标(Icon)
  • 如何在菜单上添加图标
  • 托盘区添加图标的问题
  • 实在没分了,可还有问题,怎样在树列表控件中给item添加图标
  • 如何添加现成图标作工具栏图标?
  • 在delphi5中如何将程序图标添加到系统栏?
  • 如何编程实现在“控制面板”里添加图标?
  • 如何在windows桌面右下角添加小图标

关键词

  • 图标
  • hicon
  • idi
  • afxgetapp
  • crmask
  • loadicon
  • pimagelist
  • cimagelist
  • imagelist
  • ilc

得分解答快速导航

  • 帖主:chjc2003
  • laiyiling
  • flyelf
  • LongLongAgoImBoy
  • 888atao
  • yuantao

相关链接

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

广告也精彩

反馈

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