关于二级菜单重绘的问题,好几天了没解决,各位大大来帮忙

piaopiaohu123 2009-06-22 12:15:13
具体情况是这样:1.我先CMenu Menu,然后初始化菜单.Menu.CreatePopupMenu();
2.然后为了让他点击的时候能够弹出子菜单,往初始化的菜单上appendmenu()了10个弹出菜单项.属性为MF_STRING,然后我修改弹出菜单属性为自绘菜单(MF_OWNERDRAW),我在其他地方设定了弹出菜单的显示区域的宽度高度背景颜色,弹出菜单字体显示的大小及类型,到这里都没有任何问题,能够正常显示..
3.这时我需要再添加2个包含子菜单的弹出菜单,我同样是往上面appendmenu弹出菜单,但是设定弹出菜单的属性不一样.Menu.AppendMenu(MF_STRING|MF_POPUP,(UINT)SubMenu.m_hMenu,"用户");这个SubMenu是为了添加子菜单而设定的菜单句柄:CMenu SubMenu ;ToolMenu.CreatePopupMenu();ToolMenu.AppendMenu();这时候就出问题了,新加的这个用户菜单背景及颜色都不受我控制,并且SubMenu添加的子菜单也是如此.
哎 迷惑中啊..望各位大哥指点一二.急切.
...全文
41 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
piaopiaohu123 2009-06-22
  • 打赏
  • 举报
回复
Menu.AppendMenu();增加的可以可以修改,ToolMenu.AppendMenu();增加的菜单和菜单子项不行,但是我也没找到Menu在哪个地方添加了MIM_APPLYTOSUBMENUS啊....
skyxie 2009-06-22
  • 打赏
  • 举报
回复
menu的属性有没有设置 MIM_APPLYTOSUBMENUS ? 没有就使用 CMenu::SetMenuInfo 加上
海忠 2009-06-22
  • 打赏
  • 举报
回复
到我们论坛上发个帖子,并将例子工程也传上去,我们有专人负责解决。而且肯定会解决你的问题。

========================================
提界面问题,UIPower有问必答!
界面论坛:http://www.uipower.com/bbs

我们有专员负责网友问题的解答,真诚为你服务!
[如果有很紧急的问题,也可以直接致电我们:021-33130099-806]
piaopiaohu123 2009-06-22
  • 打赏
  • 举报
回复
子菜单也修改了. CMenu *l_pMenu=pMenu->GetSubMenu(i); int l_cnt=l_pMenu->GetMenuItemCount();for(int l=0;l<l_cnt;l++) l_pMenu->ModifyMenu(l,MF_BYPOSITION|MF_OWNERDRAW,nID); 可是新加的弹出菜单和他的子菜单一样...如果不加子菜单,弹出菜单就正常,背景还有其他都正常
piaopiaohu123 2009-06-22
  • 打赏
  • 举报
回复
我设置了,pMenu->ModifyMenu(i,MF_BYPOSITION|MF_OWNERDRAW,nID); i,nID控制子菜单一一对应......
海忠 2009-06-22
  • 打赏
  • 举报
回复
后来添加进去的菜单有没有设置自绘标志呢?

========================================
提界面问题,UIPower有问必答!
界面论坛:http://www.uipower.com/bbs

我们有专员负责网友问题的解答,真诚为你服务!
[如果有很紧急的问题,也可以直接致电我们:021-33130099-806]
piaopiaohu123 2009-06-22
  • 打赏
  • 举报
回复
问题现在基本确定在什么位置了,如果不添加子菜单,只增加弹出菜单,没有问题,一旦CMenu SubMenu后,添加子菜单之后,就出现问题..
Conry 2009-06-22
  • 打赏
  • 举报
回复
下载这个看看
http://www.podetti.com/NewMenu/
piaopiaohu123 2009-06-22
  • 打赏
  • 举报
回复
是这样,可能我没说清楚,在用menu.appendmenu()的时候,添加的菜单属性是可以改的,因为我要新加2个菜单,这2个菜底下有子菜单,为了获得父菜单的ID,我只能新定义2个CMenu SubMenu1,SubMenu2;(原来的是CMenu menu;)调用这2个菜单的句柄在其底下添加子菜单,但是一这样做,就自绘不了了.
skyxie 2009-06-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 skyxie 的回复:]
menu的属性有没有设置 MIM_APPLYTOSUBMENUS ? 没有就使用 CMenu::SetMenuInfo 加上
[/Quote]

15,978

社区成员

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

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