Когда пользователь щелкает неактивного окна верхнего уровня или дочернего окна неактивного окна верхнего уровня, система отправляет сообщение WM_MOUSEACTIVATE (среди других) в окно верхнего уровня или ребенка. Система отправляет это сообщение после отправки сообщение WM_NCHITTEST , в окно, но прежде чем отправлять на кнопку вниз сообщение. Когда WM_MOUSEACTIVATE передается в функцию DefWindowProc , система активирует окно верхнего уровня и затем отправляет кнопку вниз сообщение окно верхнего уровня или ребенка.
Переработка WM_MOUSEACTIVATE, окно позволяет управлять ли окно верхнего уровня становится активным по щелчку мыши, и ли окно, которое щелкнул получает последующие кнопки вниз сообщение. Это достигается путем возвращения одного из следующих значений после обработки WM_MOUSEACTIVATE.
| Значение | Значение |
|---|---|
| MA_ACTIVATE | Активирует окно и не выбрасывайте сообщение мыши. |
| MA_NOACTIVATE | Не активирует окно и не выбрасывайте сообщение мыши. |
| MA_ACTIVATEANDEAT | Активирует окно и отбрасывает сообщение мыши. |
| MA_NOACTIVATEANDEAT | Не активирует окно, но отбрасывает сообщение мыши. |