关于用 CImageList 分割bmp图片问题

zhangyongjun001 2011-12-12 07:39:45
我用若干个图标横向排列做了一个bmp图片,就像工具条那样,我把它插入到资源中,ID号为IDB_BMP,我的目的是用 CImageList将其导入,再分割成原来的图标以便于使用。可是我用图标形成的BMP图片是256色以上的,当用CImageList的create( IDB_BMP , 16 , 4 ,RGB( 0, 0 , 0 ) );对图片导入分割后,图片的颜色就变少了,非常难看。不知道有没有其他简便的方法,bmp图片分成若干个图标或者若干个bmp图片。
...全文
75 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangyongjun001 2011-12-12
  • 打赏
  • 举报
回复
谢谢yangsh3002!
你可能误会我说的意思了,我要用ComboBoxEx 显示33个不同的图标,如果要每个图标一个一个的添加到资源中,再导入ImageList 的实例,非常麻烦,于是我把33个16*16的图标横向排列,做成了一个16*528(16*33)的bmp位图,想通过某种方式把这个位图导入到程序后,再分解成33个16*16的图标或者是为图,然后再添加到ImageList 的实例中,再把这个ImageList 的实例与ComboBoxEx建立联系,显示图标。我用CImageList的create( IDB_BMP , 16 , 4 ,RGB( 0, 0 , 0 ) );作了,可是颜色就会变少,高手指点一下,应该怎么做。
yangsh3002 2011-12-12
  • 打赏
  • 举报
回复
// 读取图标(32位真彩)
if(m_ilIcon.Create(32, 32, ILC_COLORDDB | ILC_MASK, 0, 0))
{
CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP3);
m_ilIcon.Add(&bitmap, RGB(0, 0, 0));
m_wndToolBar.GetToolBarCtrl().SetImageList( &m_ilIcon );
}
// 其中m_ilIcon是CImageList的实例
zhangyongjun001 2011-12-12
  • 打赏
  • 举报
回复
谢谢yangsh3002,试验了一下,无论是工具条还是comboboxex,用法都是一样的,按照你说的,问题解决了,不过又有了一个新的问题,那就是选择了某个图标后,当comboboxex 的编辑框出于选中状态时,在图标的右侧就会有一条竖线,失去焦点后,这条竖线就会消失,怎样使这条竖线不出现呢?另外,编辑框中的图标总是在左侧,能否居中呢?

7,540

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 VC.NET
社区管理员
  • VC.NET社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧