Если есть конкретное окно, в котором вы хотите сохранить фокус, вы можете просто вернуть фокус обратно в окно, используя команду CWnd::SetFocus()
в обработчике OnLButtonDown
вашей кнопки.
Если вы хотите восстановить фокус в одном из нескольких окон, вы можете попробовать создать подкласс CButton и перехватить сообщение CWnd::OnSetFocus()
, которое отправляется, когда фокус клавиатуры изменяется на кнопку.
Событие OnSetFocus()
включает CWnd элемента управления, который только что потерял фокус, так что вы можете вручную вернуть его обратно, либо как часть самого события OnSetFocus()
, либо позже как часть обработчика OnLButtonDown()
снова .