关于菜单的一个问题

sc_valentine21 2009-04-14 11:34:13
这里smartphone 2003程序,首先加载菜单:

//加菜单
SHMENUBARINFO mbi;
memset(&mbi, 0, sizeof(SHMENUBARINFO));
mbi.cbSize = sizeof(SHMENUBARINFO);
mbi.dwFlags = SHCMBF_HMENU;
mbi.hwndParent = m_hWnd;
mbi.nToolBarId = IDR_MENU1;//菜单资源ID
mbi.hInstRes = ::AfxGetInstanceHandle();
SHCreateMenuBar(&mbi);

没有任何问题,一切都是那么正常。
现在我再像上面一样,加载第一个菜单,去覆盖掉前面加的那一个:

//加菜单
SHMENUBARINFO mbi;
memset(&mbi, 0, sizeof(SHMENUBARINFO));
mbi.cbSize = sizeof(SHMENUBARINFO);
mbi.dwFlags = SHCMBF_HMENU;
mbi.hwndParent = m_hWnd;
mbi.nToolBarId = IDR_MENU2;//菜单资源ID
mbi.hInstRes = ::AfxGetInstanceHandle();
SHCreateMenuBar(&mbi);

貌似没有什么问题。的确,肉眼也很难发现错误。但是点击左右软键的时候,发现,新加的菜单,显示时没问题,
但是响应的是前面的左右软键。这里就不是很明白了,难道不支持这种覆盖么?
在wm5,6上面试过了,都是可以的。就现在在这个sp2003上面不行。

于是我打算,来个动态加载,需要啥加啥,加之前将原来已经加的销毁掉,哎!可惜不知道怎么去销毁掉,很是郁闷。
望大家出出主意,或者是有更好的办法。先谢之。
...全文
52 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
sc_valentine21 2009-04-15
  • 打赏
  • 举报
回复
Thanks all the same
yihan7h 2009-04-14
  • 打赏
  • 举报
回复
SetFocus(HWND hwnd_of_2ndMB);
sc_valentine21 2009-04-14
  • 打赏
  • 举报
回复
好像不行哦。哎!
世外涛缘 2009-04-14
  • 打赏
  • 举报
回复
试试用DestroyWindow把原来的菜单销毁

7,655

社区成员

发帖
与我相关
我的任务
社区描述
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
社区管理员
  • Windows客户端开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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