资源中的 MFC 修改被忽略

Posted

技术标签:

【中文标题】资源中的 MFC 修改被忽略【英文标题】:MFC Modfications in resources are ignored 【发布时间】:2021-04-13 10:25:49 【问题描述】:

当我编辑资源(通常是字符串IDC_STATIC 或菜单中的条目)时,我重新编译程序并运行程序时,修改不会显示。显示旧文本,旧菜单项。

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

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

【问题讨论】:

我也注意到了这种行为,但我的问题是,你想在什么层面解决这个问题?在应用程序级别,您只需要编写代码来删除正确的注册表项。在项目级别,您需要调用构建前或构建后事件,例如:docs.microsoft.com/en-us/visualstudio/ide/reference/… 对我来说听起来很奇怪...... 我真的怀疑它不适用于 IDC_STATIC,但我可以相信其他人。您是否使用 BCG 派生的菜单和工具栏?他们将设置保存到注册表中……至少他们在 0.8 中做到了,我们在 2021 年已经过去了。您的应用程序中是否有菜单选项来重置菜单/工具栏? 【参考方案1】:

检查对话框或 WinForm 使用相同的对话框 ID(IDD_XXX)。

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

【讨论】:

以上是关于资源中的 MFC 修改被忽略的主要内容,如果未能解决你的问题,请参考以下文章

MFC修改资源创建的对话框大小

MFC中如何修改图标

在VS中编辑修改资源视图后保存时提示-cannot change standard mfc resources ,无法保存资源视图的一个解决方法

在VS中编辑修改资源视图后保存时提示-cannot change standard mfc resources ,无法保存资源视图的一个解决方法

VS2013中修改MFC对话框左上角和exe图标

MFC —— 资源文件释放(为了程序更简洁)