我正在使用CEdit控件。我已经为ON_EN_KILLFOCUS消息分配了一个事件处理程序。它被正确调用。但问题是,当我关闭对话框时,这个事件处理程序被调用四次。我该如何防止这种情况?
答案 0 :(得分:0)
为什么要试图阻止它?只要确保你的处理程序忽略那些无关紧要的程序 -
答案 1 :(得分:-1)
刚遇到类似的问题,并通过分离到不同的处理程序来解决。
我正在使用:
ON_EN_KILLFOCUS(IDE_THRESHOLD, OnKillFocusOnEdit)
ON_EN_KILLFOCUS(IDE_AUTODENY_THRESHOLD, OnKillFocusOnEdit)
每当这两个编辑中的任何一个失去焦点时, OnKillFocusOnEdit
都会收到两条消息。
现在通过更改为以下内容,每个函数只按预期接收一条消息:
ON_EN_KILLFOCUS(IDE_THRESHOLD, OnKillFocusOnEdit)
ON_EN_KILLFOCUS(IDE_AUTODENY_THRESHOLD, OnKillFocusOnAutoDenyEdit)