0

CEditコントロールを使用しています。そして、ON_EN_KILLFOCUSメッセージにイベントハンドラーを割り当てました。正しく呼び出されます。ただし、問題は、ダイアログボックスを閉じるたびに、このイベントハンドラーが4回呼び出されることです。どうすればこれを防ぐことができますか?

4

2 に答える 2

0

なぜそれを防ごうとするのですか?ハンドラーが関係のないものを無視することを確認してください-

于 2010-10-08T03:57:27.807 に答える
-1

同様の問題が発生し、別のハンドラーに分離することで解決しました。

私が使用していたもの:

ON_EN_KILLFOCUS(IDE_THRESHOLD, OnKillFocusOnEdit)
ON_EN_KILLFOCUS(IDE_AUTODENY_THRESHOLD, OnKillFocusOnEdit)

OnKillFocusOnEditこれらの2つの編集のいずれかがフォーカスを失うたびに2つのメッセージを受信します。

次のように変更すると、各関数は期待どおりに1つのメッセージのみを受信します。

ON_EN_KILLFOCUS(IDE_THRESHOLD, OnKillFocusOnEdit)
ON_EN_KILLFOCUS(IDE_AUTODENY_THRESHOLD, OnKillFocusOnAutoDenyEdit)
于 2015-10-28T04:43:12.327 に答える