MFC 状态指示灯背景色的问题,用picture控件实现的

lpp0900320123 2014-10-03 11:46:10
我的代码如下:
(1)定义一个图标变量
HICON m_hIconLedRed;
(2)在OnInitDialog函数中添加如下代码
m_hIconLedRed=LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_ICON1 ));
m_Icon_Red.SetIcon(m_hIconLedRed);

程序运行结果应该显示我的图标颜色,可是运行结果如下图

网上搜了一下也没有找到解决办法,如果图标的背景设为透明的,会不会把黑色背景去掉呢,请问一下大家之前有没有遇到这个问题。

还有这个程序中我一张位图设置为背景,并对static控件做透明化处理,代码如下:
//修改静态文本的背景和颜色
if( nCtlColor == CTLCOLOR_STATIC)
{
pDC->SetBkMode(TRANSPARENT);
return HBRUSH(GetStockObject(HOLLOW_BRUSH));
}
如果没有背景图片话,就不会有黑色的,结果如下
...全文
547 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
向立天 2014-11-12
  • 打赏
  • 举报
回复
您好 我是本版版主 此帖已多日无人关注 请您及时结帖 如您认为问题没有解决可按无满意结帖处理 另外本版设置了疑难问题汇总帖 并已在版面置顶 相关规定其帖子中有说明 您可以根据规定提交您帖子的链接 如您目前不想结帖只需回帖说明 我们会删除此结帖通知 见此回复三日内无回应 我们将强制结帖 相关规定详见界面界面版关于版主结帖工作的具体办法
笨笨仔 2014-10-06
  • 打赏
  • 举报
回复
引用 4 楼 lpp0900320123 的回复:
[quote=引用 2 楼 wxhxj0268 的回复:] 图标无用部分用透明背景就行了,以下二个灯都是这样做的
图标无用部分,怎么让它透明; 我用Iconwork制作图标,最后结果还这样; 无用部分透明是用代码实现,还是制作图标时设置的?[/quote] 图标制作时完成的
lis2012 2014-10-04
  • 打赏
  • 举报
回复
picture 背景不重绘
lpp0900320123 2014-10-04
  • 打赏
  • 举报
回复
引用 1 楼 CometNet 的回复:
只要图标文件(ICO文件)本身是透明的(32位色)就可以,不需要其他什么处理.

推荐使用 IconWorkshop 软件制作图标


用IconWork制作Icon文件后,还是不行; 还是有黑色的背景;不能上传ICON文件,不知道我制作的有没有错,看了以前的帖子还是解决不了; 请问一下你有没有背景透明的图标文件,发到我邮箱:1137675722@qq.com ,我确定一下图标文件的问题还是代码的问题,谢谢了
lpp0900320123 2014-10-04
  • 打赏
  • 举报
回复
引用 2 楼 wxhxj0268 的回复:
图标无用部分用透明背景就行了,以下二个灯都是这样做的
图标无用部分,怎么让它透明; 我用Iconwork制作图标,最后结果还这样; 无用部分透明是用代码实现,还是制作图标时设置的?
lpp0900320123 2014-10-04
  • 打赏
  • 举报
回复
图标无用部分,怎么让它透明; 我用Iconwork制作图标,最后结果还这样; 无用部分透明是用代码实现,还是制作图标时设置的?
笨笨仔 2014-10-03
  • 打赏
  • 举报
回复
图标无用部分用透明背景就行了,以下二个灯都是这样做的

邓学彬 2014-10-03
  • 打赏
  • 举报
回复
只要图标文件(ICO文件)本身是透明的(32位色)就可以,不需要其他什么处理. 推荐使用 IconWorkshop 软件制作图标

15,980

社区成员

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

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