CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  界面

CImageList中添加自绘彩色图像为什么只显示为黑白的

楼主binbinqin(西部挺好的)2006-07-01 10:56:57 在 VC/MFC / 界面 提问

代码如下:  
  //m_image定义的CImageList  
   
  m_image.Create(32,32,ILC_COLOR8,0,2);  
  m_image.SetImageCount(2);  
  RECT   rcBorder;  
  rcBorder.left=rcBorder.top=0;  
  rcBorder.right=32;  
  rcBorder.bottom=32;  
  CBitmap   myBitmap;  
  CDC*   pdc   =   GetDC();  
  CDC           myDC;  
  myDC.CreateCompatibleDC(pdc);  
  myBitmap.CreateCompatibleBitmap(&myDC,32,32);  
  CBitmap   *pOldBitmap   =   myDC.SelectObject(&myBitmap);  
  CBrush*   pWhiteBrush   =   new   CBrush(RGB(255,255,255));  
  myDC.FillRect(&rcBorder,pWhiteBrush);//将位图清除为白色  
  CPen*   pPen=new   CPen(PS_SOLID,3,RGB(255,0,0));  
  myDC.Ellipse(&rcBorder);  
   
  myDC.SelectObject(pOldBitmap);  
  myDC.DeleteDC();  
  delete   pWhiteBrush;  
  delete   pPen;  
  m_image.Replace(0,   &myBitmap,   NULL);  
  m_image.Replace(1,   &myBitmap,   NULL);  
   
  //m_wndTree定义好的树控件  
  m_wndTree.SetImageList   (   &m_image,LVSIL_NORMAL);  
   
   
  画了一个红色的圆缺只显示为黑的,不知道为什么,各位帮帮忙吧! 问题点数:100、回复次数:3Top

1 楼syy64(太平洋)回复于 2006-07-01 11:41:15 得分 25

创建画笔、刷子、位图部分应该与绘图部分分开。Top

2 楼cpio(备注)回复于 2006-07-01 12:02:13 得分 25

 
  你的Pen没的选进设备啊  
   
   
  Top

3 楼hijack(Time timeIsMoney)回复于 2006-07-01 14:12:10 得分 50

改2个地方:  
  1.  
  1myBitmap.CreateCompatibleBitmap(&myDC,32,32);  
  ----->  
  myBitmap.CreateCompatibleBitmap(pdc,32,32);  
   
  2.  
  CPen*   pPen=new   CPen(PS_SOLID,3,RGB(255,0,0));  
  CPen   *   pOldPen   =   myDC.SelectObject(pPen);  
  myDC.Ellipse(&rcBorder);Top

相关问题

关键词

得分解答快速导航

  • 帖主:binbinqin
  • syy64
  • cpio
  • hijack

相关链接

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

广告也精彩

反馈

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