为按钮控件添加图片后,如何再取消该图片。

NicoKimi 2018-08-10 05:22:06
现在需要在一个按钮上添加一个指示作用的东西。

比如:有一按钮,按钮Caption显示:NO1
当程序收到一条警报信息时,
程序在这个按钮上显示红灯。
当人为按下按钮后,警报解除,该按钮的红灯熄灭,恢复按钮原来的模样。

我现在是用以下的语句来实现:
HICON icon;
icon[1]=AfxGetApp()->LoadIcon(IDI_Icon_Green);
icon[0]=AfxGetApp()->LoadIcon(IDI_Icon_Red);

((CButton*)GetDlgItem(IDC_BUTTON_NO1))->SetIcon(icon[0]);
((CButton*)GetDlgItem(IDC_BUTTON_NO1))->SetIcon(icon[1]);
本来想打算无警报时,按钮显示绿灯。
有警报时,按钮显示红灯。
但是,一旦SetIcon后,按钮的字体就被这Icon覆盖了,看不到按钮原来的字(NO1)了。

问题:如何取消这个Icon,让NO1重新显示出来?

我想做的东西是:
程序接收数据,若接收到的数据含有警报信息,则判断该警报是哪个编号,然后在对应编号的按钮上显示红灯。
因为有很多组按钮,且受困于界面大小布局等原因,想直接在按钮上显示灯的效果,以节省界面布局。

显示红灯时,按钮的NO1字可以被覆盖。
但是一旦解除警报后,红灯熄灭,NO1需要重新显示出来。
...全文
464 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
schlafenhamster 2018-09-20
  • 打赏
  • 举报
回复
SetIcon(0);
shen_wei 2018-09-20
  • 打赏
  • 举报
回复
把文字做到ICON中,这样更合适!!!整天UI看着更舒服。。。
zgl7903 2018-08-10
  • 打赏
  • 举报
回复
从 CButton 派生新类, 自己处理 WM_ERASEBKGND 和 WM_PAINT 消息
一彤 2018-08-10
  • 打赏
  • 举报
回复
再次添加图片???

15,979

社区成员

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

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