當我單擊按鈕時,此按鈕上的焦點被設置。從被點擊的按鈕中移除焦點
如何使用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