我最近进入了Win32编程,但我碰到了一个我在网上似乎无法找到的错误。我有一个编辑控件,行为有点奇怪。我为控件设置了最多3个字符。当我输入一个数字(ES_NUMBER
已设置)时,它会不断将其添加到控件中 - 如果它不是限制。
我输入0时的图像:
删除和退格也是如此 - 整个控件立即被清除。
我感觉发送到编辑控件的默认窗口过程的窗口过程消息可能无法从消息队列中清除。有没有办法找出是否是这种情况?有没有人经历过这种行为?我不会手动处理编辑控件的任何消息。
答案 0 :(得分:0)
这似乎是PeekMessage / GetMessage的一个问题。即使指定了PM_REMOVE,PeekMessage也不会删除用于Dialog Windows的消息(虽然我的窗口不是对话框),直到队列中出现新消息。用GetMessage替换该行修复了该问题。