如何在 MFC CDialog 类中自动删除事件处理程序?
Posted
技术标签:
【中文标题】如何在 MFC CDialog 类中自动删除事件处理程序?【英文标题】:How to delete event handler automatically in a MFC CDialog class? 【发布时间】:2018-02-24 02:42:14 【问题描述】:我正在使用 Visual C++ 2010 和 MFC 编写一个基于对话框的小型应用程序。
我在对话框中点击一个控件(比如“静态文本”控件),对应的类会自动创建一个函数和变量。
现在我发现事件处理程序没用。如何自动删除事件处理程序?
【问题讨论】:
我不确定有没有办法自动删除它们——我一直都是手工完成的。 @MarkRansom 可以。至少,使用可用的功能。请看我的回答。虽然它不是全自动的。 【参考方案1】:好吧,您可以在其中一个属性窗口中右键单击它并选择删除事件处理程序。但它会做的是注释掉代码。
也可以通过ClassWizard 完成。引用:
使用 ClassView 和 WizardBar,删除消息处理函数与删除任何其他成员函数相同。 ClassView 和 WizardBar:
删除函数声明 从MSG
、MESSAGE
或DISPATCH
映射中删除任何关联的映射条目 并注释掉函数体或定义,以便您可以根据需要轻松删除它。
这包括变量。其他方式还有更多信息here
类向导
右键单击对话框资源并选择类向导 选择要删除的事件处理程序,然后选择删除处理程序类视图
首先选择类,使其具有焦点: 单击属性窗格上的闪电,然后展开控件以查看事件: 点击下拉箭头并选择删除:希望这些示例足以向您展示如何删除函数。如果您希望我为您提供更多信息,请告诉我。
【讨论】:
@zet 请查看更新后的答案。如果您发现它有用且内容丰富,请记住也给它投票。谢谢。 :)以上是关于如何在 MFC CDialog 类中自动删除事件处理程序?的主要内容,如果未能解决你的问题,请参考以下文章
C++ MFC - 在 CDialog::OnSize 事件 (GetWindowRect) 上没有引发运行时错误的代码执行失败
从 CDialog 派生的对话框在 DoModal (MFC/C++) 之后返回 -1
MFC中 如何设置CDialog可以拉伸? 就像单文档的窗口那样? 还是要自己去实现的?