VC/MFC Release下的菜单图标不显示问题,Debug下正常

yujunnb 2010-07-15 10:18:55
如题,Release下程序菜单中的图标为什么都不显示了呢,Bitmap格式的, 在Debug下正常显示啊,工具栏上的图标两种环境下都正常显示
请问是怎么回事,又该怎么处理呢?
...全文
365 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
yujunnb 2010-07-15
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 visualeleven 的回复:]
ASSERT(subMenu->SetMenuItemBitmaps(ID_START_SIMULATION,MF_BYCOMMAN,
&m_BitStart,&m_BitStart));

囧。。。。
你的这个,在Release编译方式下根本就不会执行。。。ASSERT只有在Debug下有效。。。
[/Quote]
哈哈,还是我太挫了,你一下就看中根本原因。。。
我平时编程都比较随意,因为我理解的不深,都是用到什么看到什么,用错了也不知道为什么....
谢谢你,把ASSERT 去了 就好了....
Eleven 2010-07-15
  • 打赏
  • 举报
回复
Release直接跳过了。。。
Eleven 2010-07-15
  • 打赏
  • 举报
回复
ASSERT(subMenu->SetMenuItemBitmaps(ID_START_SIMULATION,MF_BYCOMMAN,
&m_BitStart,&m_BitStart));

囧。。。。
你的这个,在Release编译方式下根本就不会执行。。。ASSERT只有在Debug下有效。。。
wltg2001 2010-07-15
  • 打赏
  • 举报
回复
CBitmap m_BitStart;
=============
局部变量,函数结束后析构之后,相关的位图对象也被释放了,解决方法有如下几种:
一:改为CBitmap *m_BitStart;
二:在最后调用m_BitStart.Detach(),将类对象与GDI对象分离
三:将CBitmap定义为静态变量或是类成员变量
yujunnb 2010-07-15
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 whgale 的回复:]
你跟踪图标id,debug下
[/Quote]
能问下,跟踪图标ID的意图是什么?
yujunnb 2010-07-15
  • 打赏
  • 举报
回复
我在为菜单创建图标的代码是这样的:
在MainFrame的OnCreat(...)函数中,
{
...
CBitmap m_BitStart;
m_BitStart.LoadBitmap(IDB_BITMAP_START);//IDB_BITMAP_START为我新建的位图资源
CMenu *subMenu=this->GetMenu()->GetSubMenu(4);
ASSERT(subMenu->SetMenuItemBitmaps(ID_START_SIMULATION,MF_BYCOMMAN,
&m_BitStart,&m_BitStart));
...//其他菜单图标也都是这样处理的
}
。。。不知道是不是还要在其他地方设置什么,才能在Release下 正常显示菜单图标?

whgale 2010-07-15
  • 打赏
  • 举报
回复
你跟踪图标id,debug下
yujunnb 2010-07-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zison_sun 的回复:]
以前碰到 相关结构体没初始化 会出现这样问题,DEBUG 没问题,release就没反应。不晓得是不是这方面原因。
[/Quote]
不会吧,我是.LoadBitmap(...)来的,哪有相关结构体呢,你后来是怎么解决的呢
  • 打赏
  • 举报
回复
以前碰到 相关结构体没初始化 会出现这样问题,DEBUG 没问题,release就没反应。不晓得是不是这方面原因。

16,472

社区成员

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

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

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