0

我想要修改 MFCedit 框的事件,即当我尝试写入或删除任何字母时。

我得到了关于杀死焦点的事件,但这不是必需的。

我在修改编辑框的内容时想要事件。

4

2 回答 2

2

要添加到现有答案,可以通过添加EN_CHANGE控件的事件处理程序来完成。这是在 Visual Studio 中使用 IDE 的简单任务。

有几种方法可以解决这个问题。


方法一:右击EDIT控件,添加事件处理程序:

上下文菜单

单击上下文菜单上的添加事件处理程序...,然后找到要添加的处理程序:

添加处理程序

确保选择了您的对话类并且选择了EN_CHANGE消息类型,然后单击确定将样板代码添加到您的类。现在你可以做你需要做的了。


方法 2:使用属性面板

属性面板

确保选择了控件并且属性面板在屏幕上可见。

  1. 单击控件事件(闪电图标),您将看到 EDIT 控件的事件列表。
  2. 找到EN_CHANGE并单击下拉箭头。

您将在那里看到一个可供选择的项目,该项目将为您添加事件处理程序。


方法 3:使用类向导

右键单击DIALOG资源(不是EDIT 控件)并选择Class Wizard...

上下文菜单

然后您可以使用类向导添加控件:

类向导

去做这个:

  1. 选择左侧列表中的 EDIT 控件 ID。
  2. 选择EN_CHANGE事件处理程序。
  3. 单击添加处理程序...按钮。

如您所见,有几种方法可以添加EN_CHANGE事件处理程序。

于 2021-04-21T07:46:03.067 回答
1

通过EN_CHANGE通知向客户端报告对编辑控件内容的更改。该CEdit 文档解释了如何将类成员连接到通知回调。在这种情况下,您需要ON_EN_CHANGE在消息映射中添加一个条目。

于 2021-04-21T07:28:27.750 回答