mfc中菜单资源的问题(请教)

johnlxi 2005-04-09 11:42:43
请问在VC++6.0中的AppWizard生成一个SDI界面后,怎样做才能通过修改代码删除其中的菜单。

程序中可以明确的找到ToolBar和StatusBar的创建和设置代码,通过修改就可以删除ToolBar和StatusBar,但是,Menu的创建和设置代码就没有找到。如果想删除之该怎样做??

还有,为什么我把StringTable删除了,然后Rebuild,程序仍然正常运行,左下角的tips也能正常显示,为什么啊??
...全文
87 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
fanqing 2005-04-09
  • 打赏
  • 举报
回复
在winapp的instance中this->SetMenu(NULL);//去掉彩旦
signoft 2005-04-09
  • 打赏
  • 举报
回复
系统菜单创建在你的App的InitInstance中有如下定义
...
CSingleDocTemplate* pDocTemplate;
pDocTemplate = new CSingleDocTemplate(
IDR_MAINFRAME, //menu, icon, accelerator table, andstring resources
RUNTIME_CLASS(CCTestSDIDoc),
RUNTIME_CLASS(CMainFrame), // 主 SDI 框架窗口
RUNTIME_CLASS(CCTestSDIView));
...
其中IDR_MAINFRAME的含义在MSDN中介绍为
Specifies the ID of the resources used with the document type. This may include menu, icon, accelerator table, and string resources.
fayifu 2005-04-09
  • 打赏
  • 举报
回复
ResourceView中不是可以编辑这些资源吗?你在Menu子项中打开你要编辑的菜单删除你不需要的不就行了吗?
johnlxi 2005-04-09
  • 打赏
  • 举报
回复
谢谢各位,尤其是fanqing兄

我需要去掉所有的菜单,而在Resource Editor中直接删除所有的菜单资源的话会报错

关于CSingleDocTemplate中的nIDResource参数我也看到了MSDN中的解释,可是nIDResource中存储的好像分别是windowTitle,docName,fileNewName,filterName,filterExt,regFileTypeId ,regFileTypeName共七项,所以特别困惑,不明白MSDN中所说的include menu, icon, accelerator table, and string resources的意思,不止到是怎样include的

收到fanqing兄的提醒,我在CMainFrame中的OnCreate函数中加入setMenu(NULL)后成功

16,551

社区成员

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

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

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