很久没有发生这样的惨案了
那是2007年8月29日的下午,天空仍然裹着小雨。早晨跟另外两个同事一起挤一把伞的情形还历历在目,裤腿湿了,大半个人都湿了。一阵风吹来,……
怎么这个Icon还是不显示!
我们经常用CImageList 来存放一组Bitmap,然后从中extract icon 出来。而MFC中大多数的控件也经常需要SetImageList才能显示Icon。用了那么多CImageList,用了那么多的CXXXCtrl,也没有遇到今天的问题:设置给控件最后的一个ICON死活是显示不出来;而在另外一个测试程序里却可以正常显示。
CImageList m_imageList;

//-----------------
m_iamgeList.Create(IDB_XXX, 16, 1, RGB(255,0,0));

m_xCtrl.SetImageList(&m_iamgeList);


.
X0分钟过去了,寻思了N种可能还是没有思路。恰好有人闲聊起来,就将问题描述了一下。还没等描述完,突然想到,莫非是Bitmap的问题?没有怀疑过Produc里原来的bitmap资源文件会有问题,check了一下发现大小是95*16, 这95/16得#¥%#?莫非因为宽度这少了点?Try......OK!
这解决问题的过程非常令人头晕,但问题已解决,就发现不过如此。
如果CImageList加载的Bitmap是用来做ICON,bitmapWidth = iconCount * iconWidth。如果不小心少了点,最后那个可就create不成功喽。
DownLoad
posted on 2007-08-29 23:26
力为 阅读(1502)
评论(1) 编辑 收藏 引用 所属分类:
VC&MFC