在c ++中丢失焦点和GotFocus

时间:2009-09-15 00:51:08

标签: c++ winapi native

如何为本机c ++的这些事件添加代码?

我找不到WM_LOSTFOCUSWM_GOTFOCUS;我只找到了WM_SETFOCUS。我需要在窗口失去焦点时重新获得代码,然后重新获得代码。

感谢。

4 个答案:

答案 0 :(得分:10)

在您的窗口失去焦点之前,它将被发送:WM_KILLFOCUS
在您的窗口获得焦点后,它将被发送:WM_SETFOCUS

发送WM_SETFOCUS消息不会设置焦点。你需要为此调用SetFocus。

答案 1 :(得分:3)

对于编辑控件,WM_KILLFOCUS将无效。

我花了很长时间才弄清楚我需要EN_KILLFOCUS。希望能在一段时间内保存下一个人。

答案 2 :(得分:2)

您正在寻找的消息是WM_KILLFOCUS

答案 3 :(得分:0)

您也可以考虑 WM_ACTIVATE 。当涉及主窗口时,激活消息可能是唯一的解决方案。