OnKillFocus () переопределить при запуске MFC в нечетное время - PullRequest
3 голосов
/ 16 октября 2008

Мне нужно знать, когда мое Окно выходит из фокуса ввода, поэтому я перегрузил метод OnKillFocus () CWnd.

Однако он не вызывает этот метод, когда я фокусирую другое приложение (alt + tab) или даже сверну окно. Но он вызывает метод, когда я возвращаю его к минимуму. Это предполагаемое время для запуска этого метода?

Ответы [ 2 ]

1 голос
/ 16 октября 2008

OnKillFocus () обычно используется только последовательно для элементов управления, которые имеют концепцию получения фокуса - кнопки, поля редактирования, списки и т. Д. Обычно CWnd не принимает фокус, поэтому вы не можете полагаться на это - я Я удивлен, что ты все понял.

В дополнение к WM_ACTIVATEAPP, упомянутому выше, есть также WM_ACTIVATE при переключении между окнами в одном приложении, которое вы можете захотеть перехватить.

1 голос
/ 16 октября 2008

Я думаю, что вам понадобится обработчик CWnd :: OnActivateApp (), если вы хотите быть уверены, что получите уведомление, когда ваше приложение выключено.

...