资源中的 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 修改被忽略的主要内容,如果未能解决你的问题,请参考以下文章
在VS中编辑修改资源视图后保存时提示-cannot change standard mfc resources ,无法保存资源视图的一个解决方法
在VS中编辑修改资源视图后保存时提示-cannot change standard mfc resources ,无法保存资源视图的一个解决方法