当我单击按钮时,此按钮上的焦点被设置。从被点击的按钮中移除焦点
如何使用C++中的WIN API从此按钮中移除焦点?
我想也许以某种方式使用SendMessage WIN API可以从按钮中删除焦点。
我只有按钮的句柄。
此外,我不能访问父窗体窗口。
我知道几乎每次都可以使用:: SetFocus,但是这次我不能使用它,因为即使我找到句柄,我也无法访问窗口窗体。所以请咨询其他解决方案。
当我单击按钮时,此按钮上的焦点被设置。从被点击的按钮中移除焦点
如何使用C++中的WIN API从此按钮中移除焦点?
我想也许以某种方式使用SendMessage WIN API可以从按钮中删除焦点。
我只有按钮的句柄。
此外,我不能访问父窗体窗口。
我知道几乎每次都可以使用:: SetFocus,但是这次我不能使用它,因为即使我找到句柄,我也无法访问窗口窗体。所以请咨询其他解决方案。
子类按钮和接口WM_SETFOCUS
消息。那会告诉你失去焦点的HWND
。如果需要,您可以再回到HWND
。
你可以把焦点放在另一个窗口上,但是如果你真的不需要关注。最好使用::SetFocus(NULL)
。这样可以防止发送一些Windows消息,因此性能可能会稍微增加。
这是使用最少代码完成工作的最佳解决方案。还需要记住:: SetSocus(hWnd)可能不会成功,但NULL始终可用。 – ChatCloud
你想要关注什么? 'SetFocus'可能就是你想要的。 – chris
为什么不能调用['GetParent'](http://msdn.microsoft.com/zh-cn/library/windows/desktop/ms633510.aspx)? – IInspectable