【按钮动态加载位图,然后动态去掉位图】

大树学长 2015-08-06 05:18:35
//动态加载位图
HBITMAP hBitmap;
hBitmap = LoadBitmap(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDB_BITMAP1));
((CButton*)GetDlgItem(IDC_BUTTON1))->ModifyStyle( 0,BS_BITMAP);
((CButton *)GetDlgItem(IDC_BUTTON1))->SetBitmap(hBitmap);


但是再动态去掉位图不知道怎么写都不对:
((CButton*)GetDlgItem(IDC_BUTTON1))->ModifyStyle( BS_BITMAP,0);


问题出在哪?
我按钮是在加过XP风格基础上弄的
...全文
90 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿源是少年 2015-08-07
  • 打赏
  • 举报
回复
((CButton*)GetDlgItem(IDC_BUTTON1))->Invalidate(FALSE);改为 ((CButton*)GetDlgItem(IDC_BUTTON1))->Invalidate(TRUE); 还不行就直接对主窗口Invalidate(TRUE)因为我是在vc6下测试没有问题,不保证高版本,你先试一下先
大树学长 2015-08-07
  • 打赏
  • 举报
回复
引用 4 楼 pcradio 的回复:
[quote=引用 3 楼 bigtree_mfc 的回复:] [quote=引用 1 楼 pcradio 的回复:]
((CButton*)GetDlgItem(IDC_BUTTON1))->ModifyStyle( BS_BITMAP,0);
((CButton*)GetDlgItem(IDC_BUTTON1))->Invalidate(FALSE);
刷新一下即可
引用 2 楼 sandshaw 的回复:
Invalidate
不插入位图的按钮应该是这样的 按钮插入位图后的样子 但是实际上去掉位图的样子 为什么位图只去掉了半截???? [/quote] 你设置位图的代码还是上面你贴的代码吗,那就
((CButton*)GetDlgItem(IDC_BUTTON1))->Invalidate(FALSE);
背景也刷一下[/quote] 已添加的效果 ((CButton*)GetDlgItem(IDC_BUTTON1))->ModifyStyle( BS_BITMAP,0); ((CButton*)GetDlgItem(IDC_BUTTON1))->Invalidate(FALSE);
阿源是少年 2015-08-07
  • 打赏
  • 举报
回复
引用 3 楼 bigtree_mfc 的回复:
[quote=引用 1 楼 pcradio 的回复:]
((CButton*)GetDlgItem(IDC_BUTTON1))->ModifyStyle( BS_BITMAP,0);
((CButton*)GetDlgItem(IDC_BUTTON1))->Invalidate(FALSE);
刷新一下即可
引用 2 楼 sandshaw 的回复:
Invalidate
不插入位图的按钮应该是这样的 按钮插入位图后的样子 但是实际上去掉位图的样子 为什么位图只去掉了半截???? [/quote] 你设置位图的代码还是上面你贴的代码吗,那就
((CButton*)GetDlgItem(IDC_BUTTON1))->Invalidate(FALSE);
背景也刷一下
大树学长 2015-08-07
  • 打赏
  • 举报
回复
引用 1 楼 pcradio 的回复:
((CButton*)GetDlgItem(IDC_BUTTON1))->ModifyStyle( BS_BITMAP,0);
((CButton*)GetDlgItem(IDC_BUTTON1))->Invalidate(FALSE);

刷新一下即可

引用 2 楼 sandshaw 的回复:
Invalidate

不插入位图的按钮应该是这样的

按钮插入位图后的样子

但是实际上去掉位图的样子

为什么位图只去掉了半截????

sandshaw 2015-08-06
  • 打赏
  • 举报
回复
Invalidate
阿源是少年 2015-08-06
  • 打赏
  • 举报
回复
((CButton*)GetDlgItem(IDC_BUTTON1))->ModifyStyle( BS_BITMAP,0);
((CButton*)GetDlgItem(IDC_BUTTON1))->Invalidate(FALSE);
刷新一下即可

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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