Очень похожий вопрос здесь, но, похоже, он остается без ответа.
Я реализовал затененное окно, используя два окна, одно родительское окно с тенью, но основным родным окном является дочернее окно. Единственная проблема заключается в том, что мое родительское окно намного больше, чем дочернее окно, и использует прозрачность для создания тени. Это заставляет мое окно управлять событиями мыши, даже когда я нажимаю в области тени.
Я хочу, чтобы мое окно теряло фокус всякий раз, когда я нажимаю в области теневой (родительской), подобно простому щелчку на другом окне, которое не является частью моего приложения. Я также хочу, чтобы прямое управление местоположением этой области щелчка, в случае изменения размера тени.
Как я могу это достичь?
Заранее спасибо.
В родительском окне обработайте сообщение WM_MOUSEACTIVATE
и верните MA_NOACTIVATE
чтобы предотвратить его щелчок по родительскому окну.
Вам также придется обрабатывать сообщение в дочернем окне, и на этот раз вернуть MA_ACTIVATE
.