导航
  • 主页
  • VC综合技术
  • 互联网技术
  • MFC AppLauncher
  • .NET 技术
  • 界面
  • 进程
  • 算法
  • 硬件/系统
  • 数据库
  • VC++技术资源

vs2010 主菜单修改

LZNJ06 2011-06-30 09:54:45
vs2010 菜单修改
我想在主菜单中添加一菜单项,切换中英文,切换菜单添加在MainFrame中,在CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) 最后添加 了如下语句:

SetMenu(NULL);
m_menuMain.LoadMenu(IDR_MAINFRAME);
SetMenu(&m_menuMain);
在语言切换菜单响应函数中添加如下语句:
其中m_pMenuMainFrame 在MainFrm.h 中定义 CMenu m_MenuMainFrame;

int nCurPos = 0;
CMenu* subMenu = m_MenuMainFrame.GetSubMenu(nCurPos);
//文件菜单
m_MenuMainFrame.ModifyMenu(0,MF_BYPOSITION , 0, "fSile");
subMenu->ModifyMenu(ID_FILE_NEW,MF_BYCOMMAND,ID_FILE_NEW, "newfile");
DrawMenuBar(); //刷新菜单显示

这样做此时会出现两个主菜单,上下两层,点击菜单响应函数时,可以修改一个菜单的菜单项.菜单函数响应正常。

如果在app 的InitInstance()中添加如下语句:
AfxGetMainWnd()->SetMenu(NULL); 此时显示一个菜单但,菜单却不能修改了,没有任何响应。

不知什么原因,同样操作在VC6.0下只显示一个菜单,且能修改菜单,vs2010 下却显示两个菜单。
不知如何解决此问题,请大家看看,谢谢。




vc6.0 可以
...全文
803 点赞 收藏 13
写回复
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
wtsos 2013-01-25
引用 10 楼 LZNJ06 的回复:
qiuxin425 问题已经解决了,在创建项目时选择经典菜单,这个没有注意到,总之谢谢你啊。结贴。
楼主还有别的方法吗?这个方法也太勉强了
回复
[Quote=引用 4 楼 的回复:]

是注册表的问题吧,VS2010默认将MFC应用程序的框架结构保存在注册表里了具体位置为:
HKEY_CURRENT_USER\\software\\应用程序向导生成的本地应用程序\\
你将删除一下该目录下的你的MFC程序名所对应的目录。试试看你的菜单是不是正常了?
[/Quote]

非常感谢。
回复
witlym311 2011-08-16
各位大神,请问在bcg中怎么把主菜单一部分在左,一部分在右呀?
回复
qiuxin425 2011-07-01
在创建项目时选择经典菜单,就和VC6.0一样了 但很多的扩展功能就没有了
回复
qiuxin425 2011-07-01
虽然你的问题解决了,但我觉得如果你用不到VS2010的特有功能,还是用经典菜单比较好,个人建议,O(∩_∩)O~
回复
qiuxin425 2011-07-01
我来了,问题解决了吧?
回复
LZNJ06 2011-07-01
qiuxin425 问题已经解决了,在创建项目时选择经典菜单,这个没有注意到,总之谢谢你啊。结贴。
回复
LZNJ06 2011-06-30
我自己顶起来。。。
回复
LZNJ06 2011-06-30

回复
LZNJ06 2011-06-30
[Quote=引用 5 楼 visualeleven 的回复:]
VS2010的SDI/MDI的那套都是BCG的东西和之前的VC6的不一样的
[/Quote]
大师能不能说一下,具体怎么个不一样,更重要的是这个功能如何在VS2010 上实现呢,谢谢。

另外注册表中的记录我也删除了,还是一样的结果。
回复
Eleven 2011-06-30
VS2010的SDI/MDI的那套都是BCG的东西和之前的VC6的不一样的
回复
shiyunqiang 2011-06-30
是注册表的问题吧,VS2010默认将MFC应用程序的框架结构保存在注册表里了具体位置为:
HKEY_CURRENT_USER\\software\\应用程序向导生成的本地应用程序\\
你将删除一下该目录下的你的MFC程序名所对应的目录。试试看你的菜单是不是正常了?
回复
楼主贴子都沉底了,帮你顶起来。
回复
发动态
发帖子
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
社区公告

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