CImageList中添加自绘彩色图像为什么只显示为黑白的
代码如下:
//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




