MFC:从 GUI 中删除元素

Posted

技术标签:

【中文标题】MFC:从 GUI 中删除元素【英文标题】:MFC: Delete elements from GUI 【发布时间】:2011-06-03 13:39:47 【问题描述】:

在修补和修改 GUI 之后,我已经工作了一段时间,最终得到了一组不再需要的 EditController 和单选按钮,所以我想摆脱它们。但是,如果我只是从 GUI 编辑中删除它们,就会出现断言错误。我应该如何摆脱这些元素?

【问题讨论】:

查看其中一条错误消息会很有帮助。 【参考方案1】:

您需要从程序中删除所有引用已删除控件的代码。对于您要删除的每个控件,获取其 ID 并在源中搜索引用它的语句。

【讨论】:

【参考方案2】:

这样开始:

    检查给定控件的 ID。复制它。现在从对话框资源中删除控件。 确保 ID 未被其他对话框使用。如果没有,您可以使用以下方法。 从 resource.h 中删除该 ID。 当你编译它时,你会得到错误(大约GetDlgItemDDX_Control 等)。删除或评论它们。删除适当的CWnd 派生变量(如CEditCComboBox 等)。 你完成了!

如果给定的 ID 被其他对话框使用(从资源视图的上下文菜单 Resource Symbols... 检查它),那么您不能直接从资源编辑器中删除它。但是,您需要从适当的实现文件(CDialog/CPropertyPage-派生类)中删除它。

【讨论】:

以上是关于MFC:从 GUI 中删除元素的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式从 MFC 工具栏中完全删除按钮

从 MFC 对话项目中删除 QAT 资源?

如果我不使用 MFC,是不是需要 afxres.h?如何从 .RC 脚本中删除它?

VS 2008 MFC - 删除 MFC 处理程序

如何在 MFC 中删除一行

MFC-DeleteItem删除某行