资源中的MFC修改被忽略

资源中的MFC修改被忽略,mfc,resources,registry,Mfc,Resources,Registry,当我编辑一个资源时,通常是一个字符串,IDC\u STATIC,或者菜单中的一个条目,然后我重新编译程序并运行程序,修改内容不会显示出来。将显示旧文本,即旧菜单项 要成功,我必须打开注册表编辑器并删除程序的条目。在注册表中,我看到键工作区下有一长串条目,这个列表似乎阻碍了刷新 如何让程序确认新布局?如何强制程序使用新设置覆盖密钥工作区。检查对话框或WinForm是否使用相同的对话框ID(IDD\U XXX) 如果您正在资源编辑器中编辑IDD_XXXB,但dialog或WinForm的类正在使用I

当我编辑一个资源时,通常是一个字符串,
IDC\u STATIC
,或者菜单中的一个条目,然后我重新编译程序并运行程序,修改内容不会显示出来。将显示旧文本,即旧菜单项

要成功,我必须打开注册表编辑器并删除程序的条目。在注册表中,我看到键工作区下有一长串条目,这个列表似乎阻碍了刷新


如何让程序确认新布局?如何强制程序使用新设置覆盖密钥工作区。

检查对话框或WinForm是否使用相同的对话框ID(IDD\U XXX)


如果您正在资源编辑器中编辑IDD_XXXB,但dialog或WinForm的类正在使用IDD_XXXA。然后解释您的问题。

我也注意到了这种行为,但我的问题是,您希望在什么级别上解决此问题?在应用程序级别,只需编写代码即可删除正确的注册表项。在项目层面,您需要调用构建前或构建后事件,类似这样的事情:对我来说,所有这些听起来都很奇怪……我真的怀疑它是否适用于IDC_STATIC,但我可以相信其他人。您是否使用BCG衍生的菜单和工具栏?他们将自己的设置保存到注册表中……至少他们使用了0.8,而我们在2021年已经远远超过了0.8。应用程序中是否有菜单选项来重置菜单/工具栏?