Winapi Win32编辑控件无限重复消息

Winapi Win32编辑控件无限重复消息,winapi,controls,edit,Winapi,Controls,Edit,我最近进入了Win32编程,我遇到了一个在网络上找不到的bug。我有一个编辑控件,它的行为有点奇怪。我为控件设置了最多3个字符。当我输入一个数字(ES_number已设置)时,它会不断将其添加到控件中-如果不是因为限制 输入0时的图像: 它对删除和退格执行相同的操作-整个控件立即被清除 我感觉发送到编辑控件的默认窗口过程的窗口过程消息可能不会从消息队列中清除。有没有办法知道情况是否如此?有没有人经历过这种行为?我不手动处理编辑控件的任何消息。这似乎是PeekMessage/GetMessage的

我最近进入了Win32编程,我遇到了一个在网络上找不到的bug。我有一个编辑控件,它的行为有点奇怪。我为控件设置了最多3个字符。当我输入一个数字(
ES_number
已设置)时,它会不断将其添加到控件中-如果不是因为限制

输入0时的图像:

它对删除和退格执行相同的操作-整个控件立即被清除


我感觉发送到编辑控件的默认窗口过程的窗口过程消息可能不会从消息队列中清除。有没有办法知道情况是否如此?有没有人经历过这种行为?我不手动处理编辑控件的任何消息。

这似乎是PeekMessage/GetMessage的问题。在队列中出现新消息之前,PeekMessage不会删除用于对话框窗口(而我的窗口不是对话框)的消息,即使指定了PM_REMOVE。用GetMessage替换该行修复了该问题。

复制该行的具体步骤是什么?分配给控件的窗口样式、发送给控件的窗口消息、Windows版本等。