2009-09-15 142 views
4

如何向native C++的这些事件添加代码?我不能找到WM_LOSTFOCUSWM_GOTFOCUS;我只发现WM_SETFOCUS。当我的窗户失去焦点并重新获得时,我需要执行代码。在C++中失去焦点和GotFocus

谢谢。

回答

10

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

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

+0

正在发送WM_SETFOCUS不设置焦点。您需要调用SetFocus函数。 – 2012-02-05 03:30:41

+0

修正了,谢谢修正:) – 2012-02-05 14:00:58

2

你正在寻找的信息是WM_KILLFOCUS

0

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

3

对于编辑控件,WM_KILLFOCUS不起作用。

花了太久才发现我需要EN_KILLFOCUS。希望有一段时间能拯救下一个人。