我正在努力对旧版 进行轻微更改VS 2008 & MFC 项目,包括对 WinAPI/MFC *.rc
的更改资源文件 .我已经进行了这些更改,例如,从 IDR_MAINFRAME
更改菜单字符串(对于 "New Scan"
,如果重要的话)至"New Organism"
在一台计算机上,致力于 VCS,并尝试在另一台几乎相同的配置(不确定是否相关)上重建项目,这就是我遇到问题的时候。
目前,我有
"New Scan"
的 RC 文件"New Scan"
的文件,包括二进制文件(尽管如前所述,这可能是由于编码)我有
*.res
文件并仅编译 *.rc
文件到 *.res
只是为了确保那里的路径没问题*.res
的绝对路径。文件。exe
通过 GetModuleHandle
执行FindResource
的调用和 LoadResource
通过NULL
作为当前模块,意味着资源应该从 exe
加载。 exe
中的资源包含 "New Organism"
,即使它显示 "New Scan"
运行时。我验证了#define
资源的编号与 ResEdit 报告的编号相同。已验证 exe
中没有其他类似资源. exe
我正在检查并尝试从 IDE 和 Windows 资源管理器运行它。 CFrameWndEx::LoadFrame
)并验证它会强制应用程序失败。IDR_AppnameTYPE MENU
使用第二份菜单没有帮助(请参阅下面 thomiel 的回答)无济于事。我特别不确定原始字符串
"New Scan"
在哪里,来自以及我的关于对话框的更改如何传播而对菜单的更改没有。 如何使对菜单的更改传播到 *.exe
本身?
最佳答案
如果是 SDI 或 MDI:不仅要更改 IDR_MAINFRAME,还要更改 IDR_??????TYPE,这是打开文档时显示的菜单。
关于winapi - MFC 菜单不会传播到应用程序中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24595016/