VC6,菜单加入图标,颜色很不鲜艳,怎么改?

kenshu 2010-02-07 09:39:33
1、新建一个位图资源,大小为13*13,ID为IDB_BITMAP1,画好图标
2、在CMainFrame中添加成员变量:CBitmap bitmap
3、在CMainFrame的OnCreate中加入:
bitmap.LoadBitmap(IDB_BITMAP1);
GetMenu()->GetSubMenu(0)->SetMenuItemBitmaps(0,MF_BYPOSITION, &bitmap, &bitmap);

但是出来的图标,颜色很不鲜艳,怎么改?

代码在这里

http://www.shuct.net/down.asp?id=20100207093440&check=8F0109E255EE55333D2EB5826B19816D
...全文
292 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
ringphone 2010-02-08
  • 打赏
  • 举报
回复
看一下MSDN里关于这个SetMenuItemBitmaps的说明:

The selected and clear bitmaps should be monochrome. The system uses the Boolean AND operator to combine bitmaps with the menu so that the white part becomes transparent and the black part becomes the menu-item color. If you use color bitmaps, the results may be undesirable.

图象是通过AND操作画到灰色的菜单背景上去的,想要鲜艳需要自绘了。
微达 2010-02-08
  • 打赏
  • 举报
回复
学习了,Mark!
kenshu 2010-02-08
  • 打赏
  • 举报
回复
引用 13 楼 liufh1573 的回复:
    C++支持的bmp文件像素不能太高,高分辨率的图像加载不进去,所以图像看上去不是很好。


我用的是13*13*16色(也就是和VC最低要求一致),确实是11楼说的原因。

谢谢!
liufh1573 2010-02-08
  • 打赏
  • 举报
回复
C++支持的bmp文件像素不能太高,高分辨率的图像加载不进去,所以图像看上去不是很好。
kenshu 2010-02-08
  • 打赏
  • 举报
回复
引用 11 楼 ringphone 的回复:
看一下MSDN里关于这个SetMenuItemBitmaps的说明:

The selected and clear bitmaps should be monochrome. The system uses the Boolean AND operator to combine bitmaps with the menu so that the white part becomes transparent and the black part becomes the menu-item color. If you use color bitmaps, the results may be undesirable.

图象是通过AND操作画到灰色的菜单背景上去的,想要鲜艳需要自绘了。


确实这个原因,我昨晚另外找了个控件,就可以了。

谢谢!
wuhuwy 2010-02-07
  • 打赏
  • 举报
回复
这是编译器对资源色彩的处理造成的问题,还是用其他控件吧,方便一些
draculacsdn 2010-02-07
  • 打赏
  • 举报
回复
还是用真彩吧,真彩的图标在vc6中看不到
vclongking 2010-02-07
  • 打赏
  • 举报
回复
你这问题有点怪
draculacsdn 2010-02-07
  • 打赏
  • 举报
回复
不对,颜色确实不一样
draculacsdn 2010-02-07
  • 打赏
  • 举报
回复
不是你的眼镜有问题,也不是win2000的问题,你视觉欺骗了你,你可以截图并查看上下两个颜色块的rgb数值,其实是一致的,只是背景不同,导致效果不同
kenshu 2010-02-07
  • 打赏
  • 举报
回复
SORRY,上面是"纯红/纯绿/纯蓝/纯黄"

我其实画着真的图标,可是怎么看都不对.

故意画几个纯色的出来对一下.

kenshu 2010-02-07
  • 打赏
  • 举报
回复


上面那个是资源(纯红/纯绿/纯蓝/纯黑),下面那个是程序效果(颜色已经不对了),应该不是我眼睛看太久花了.

难道是WIN2000的问题?
猞猁狲 2010-02-07
  • 打赏
  • 举报
回复
看了你的程序,菜单图片颜色和你资源图标颜色是一致的呀?你说的不鲜艳不太理解!需要好的菜单你得自己使用别的真彩控件了
kenshu 2010-02-07
  • 打赏
  • 举报
回复
回楼上几位,应该不关真彩的事.

我用16色的图片,也是这样.

我估计是哪里还要加个语句.

谢谢!

15,978

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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