У нас есть приложение MFC MDI, которое в процессе работы может фокусироваться на данном элементе управления, например это может изменить активную вкладку, если результат операции больше подходит для другой вкладки.
Если у приложения есть фокус, когда происходит SetFocus, это нормально, вкладка меняется, и правильный элемент управления имеет фокус. Однако, если приложение не имеет фокуса (то есть пользователь нажал на другое приложение, ожидая завершения операции), SetFocus в дочернем окне вызывает OnActivate в родительском фрейме MDI, и приложение становится окном переднего плана.
Как установить SetFocus, чтобы дочернее окно не превращало целое приложение в окно переднего плана, если пользователь работает в другом приложении.