关于菜单(第一次在VC版发问,希望大家多多帮忙)

myling 2004-09-11 09:50:19
在VC中,新建了一个空的win32程序,然后手动的给它添加菜单资源

如下:

2Hour.RC

#include “resource.h”

IDR_MENU MENU DISCARDABLE
BEGIN
POPUP “&File”
BEGIN
MENUITEM “E&xit”, IDM_EXIT
END
END

RESOURCE.H

#define IDR_MENU 102
#define IDM_EXIT 40001


然后分别添加到项目中

然后在注册窗体类的时候
wc.lpszMenuName = MAKEINTRESOURCE(IDR_MENU);//窗口的菜单资源名称

到这里一切正常
运行可以看到菜单

但是当我用VC将IDR_MENU 改为中文时 (文件\退出)
在编译出错 error RC2144 : PRIMARY LANGUAGE ID not a number

然后再看2Hour.RC 变成了如下

//Microsoft Developer Studio generated resource script.
//
#include "resrc1.h"

#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "resource.h"

/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS

/////////////////////////////////////////////////////////////////////////////
// Chinese (P.R.C.) resources

#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)
#ifdef _WIN32
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
#pragma code_page(936)
#endif //_WIN32

/////////////////////////////////////////////////////////////////////////////
//
// Menu
//

IDR_MENU MENU DISCARDABLE
BEGIN
POPUP "&文件"
BEGIN
MENUITEM "退出",IDM_EXIT
END
END


#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//

1 TEXTINCLUDE DISCARDABLE
BEGIN
"resrc1.h\0"
END

2 TEXTINCLUDE DISCARDABLE
BEGIN
"#include ""resource.h""\r\n"
"\0"
END

3 TEXTINCLUDE DISCARDABLE
BEGIN
"\r\n"
"\0"
END

#endif // APSTUDIO_INVOKED

#endif // Chinese (P.R.C.) resources
/////////////////////////////////////////////////////////////////////////////



#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//


/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED




VC会自动修改资源文件吗
怎么才能解决呢?

第一次在VC版发贴,希望大家多多帮忙,兄弟先谢过了:D
...全文
246 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
Han7522 2004-09-12
  • 打赏
  • 举报
回复
在res\xxx.rc2中添加你的资源。
myling 2004-09-12
  • 打赏
  • 举报
回复
感谢楼上兄弟的耐心解答:)


再关注一下

看看其他兄弟有什么高见
cngonet 2004-09-12
  • 打赏
  • 举报
回复
帮你顶下

你是天津的?
myling 2004-09-12
  • 打赏
  • 举报
回复
感觉就是对于手动创建的res,
然后通过VC的界面来编辑,
VC没法加入正确的信息?

比较郁闷的说……
myling 2004-09-12
  • 打赏
  • 举报
回复
楼上说的是这样的是指……

没有解决办法了?……
snaill 2004-09-12
  • 打赏
  • 举报
回复
vc每次修改保存,自己添加的部分都不会被保存,可能是vc没有认可的缘故吧

2种办法来解决:

1.你可以使用vc菜单中的资源处理项,在这里填写的东西,vc会纪录并保存,不过一般来说都是自己#include的东西

2.在res\xxx.rc2中添加你的资源。

这2种办法的缺点都是无法在使用vc的资源编辑器来编辑了,没办法想自由总要付出点代价的
myling 2004-09-12
  • 打赏
  • 举报
回复
看来真的是要自由就要付出代价:(

就这样吧,揭帖了
myling 2004-09-12
  • 打赏
  • 举报
回复
谢谢先,呵呵

俺不是,为啥这么说?

俺是山东烟台的

在外流浪,现在在浙江
DentistryDoctor 2004-09-12
  • 打赏
  • 举报
回复
你用中文的资源,相应的
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)
#ifdef _WIN32
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
#pragma code_page(936)
#endif //_WIN32
这几句系统会你加上,不如你自己的rc文件中就直接写上这几句。
菜牛 2004-09-11
  • 打赏
  • 举报
回复
是这样的。
索性就用资源编辑器好了,简单。
myling 2004-09-11
  • 打赏
  • 举报
回复
呵呵,介个嘛……

只是想知道为什么

什么都要VC来自动生成

自己什么都不知道,岂不是很不爽?
darongtou 2004-09-11
  • 打赏
  • 举报
回复
你干吗要手动生成啊?VC IDE不有资源编辑器吗?直接在那里编辑好了,比手工添加方便多了.
myling 2004-09-11
  • 打赏
  • 举报
回复
恩……

刚才试了一下,我将自动生成的那堆代码全部去掉,中文也能显示

#include “resource.h”

IDR_MENU MENU DISCARDABLE
BEGIN
POPUP "&文件"
BEGIN
MENUITEM "退出",IDM_EXIT
END
END


这样也可以,只是用VC在图形界面下编辑后,就坏掉了:(
myling 2004-09-11
  • 打赏
  • 举报
回复
楼上,不是那样的

我这菜单不是用AppWizard创建的:(

而是我手工编辑然后添加进去的

并且出错以后看RC里VC给加的那堆代码里到处都是这个 Chinese (P.R.C.) resources
Kudeet 2004-09-11
  • 打赏
  • 举报
回复
http://search.csdn.net/Expert/topic/1105/1105535.xml?temp=.8509638
myling 2004-09-11
  • 打赏
  • 举报
回复
错在哪?不要说跑话

话说了一半就跑了

留下我一头雾水:(
gooyan 2004-09-11
  • 打赏
  • 举报
回复
呵呵。VC跟女人一样,有时候让你搞不懂。你以为你没错的时候,你就已经错了
myling 2004-09-11
  • 打赏
  • 举报
回复
补充:将上述乱78糟的玩意删掉,只留原来的,将中文再改成英文,就没事了

RC文件也不会被改变

呵呵,对VC真是有点摸不着头脑:(

用的VC6.0英文版,跟这个有关系吗?可能性不大,因为我用向导建的EXE,菜单显示中文一点都没有问题

16,471

社区成员

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

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

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