编辑控件不生成 WM_COMMAND 消息

Edit control doesn't generate WM_COMMAND messages

我有一个编辑控件。在父 window 中,我正在收听一条 WM_COMMAND 消息。但是我的控件不会在更改时发送它。此外,当我使用 Spy 观看消息时,我只能在编辑控件本身上看到不同的键盘消息,而主父 window 中的唯一消息是 WM_CTLCOLOREDIT.

P.S.: 我正在做的唯一有趣的事情 - 我正在使用 HWND_MESSAGE parent 创建编辑并稍后使用 SetParent();

分配父级

对于编辑控件,通知会发送到控件的原始父级。也就是说,在您的情况下,消息仅 window。

在对similar question Raymond Chen 的评论中说:

Many controls cache the original parent. Not much you can do about it.

您最好推迟编辑控件的创建,直到您创建了它的父控件。