对话框应用程序中的菜单前面加图标的问题

liwei84516 2009-09-11 11:01:46
如题,我在OnPaint中添加了如下代码,但是菜单前面却没有图标显示出来。
		CWnd*parent = AfxGetMainWnd();
if(parent)
{
CMenu*pmenubar=parent->GetMenu();
CMenu*pmenu = pmenubar->GetSubMenu(2);
pmenu->SetMenuItemBitmaps(1,MF_BYPOSITION,&m_bmpDBManage,&m_bmpSDCard);
}


难道是我代码什么地方出错了?
...全文
101 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
youyifang 2009-09-11
  • 打赏
  • 举报
回复
检查下每个指针和位图句柄
liwei84516 2009-09-11
  • 打赏
  • 举报
回复
我的问题是菜单前面添加的图标没法显示出来呢!我试过了,问题还是一样的!
feilinhe 2009-09-11
  • 打赏
  • 举报
回复
对话框中的菜单是相应不了菜单的ON_UPDATE_COMMAND_UI消息的,于SDI不一样按照下面的添加一下代码
http://hi.baidu.com/chaohona/blog/item/0acf11c321d6283de4dd3b3a.html
别忘了头文件中添加afx_msg void OnInitMenuPopup(CMenu *pPopupMenu, UINT nIndex,BOOL bSysMenu);
liwei84516 2009-09-11
  • 打赏
  • 举报
回复
实践证明,SDI中菜单加位图和对话框中手动添加的菜单添加位图是截然不同的,我同样的代码放在SDI中可以成功,但是放到了对话框中就不行了,郁闷!

我的菜单是在对话框属性中的一个选项中选择菜单的,而不是自create()出来的,难道问题出在这里?
liwei84516 2009-09-11
  • 打赏
  • 举报
回复
呵呵,我的是对话框程序中,不是SDI MDI,不过好像发现问题了,我同样的代码刚才放到SDI中去,也不能看到图,换一个小点的位图就可以了。很有可能是我的图有问题,过大!处理好了,来结贴,上面的兄弟等着拿分哈!!!
zyq5945 2009-09-11
  • 打赏
  • 举报
回复
不用再OnPaint添加,可以在CMainFrame::OnCreate添加就行了.
检查下你的图片是否加载正确,估计是图片没加载好.
liwei84516 2009-09-11
  • 打赏
  • 举报
回复
应该不是,我的图是有颜色的,菜单上面一点改变都没有!我断点的时候程序是执行了,但就是没反应!!不知道怎么回事!
chenwencan 2009-09-11
  • 打赏
  • 举报
回复
是不是位图大了,只显示了一小部分,所以看起来就没有正确的显示
liwei84516 2009-09-11
  • 打赏
  • 举报
回复
我看过了,没有发现什么问题啊!真是奇怪,等高手解决!

16,551

社区成员

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

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

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