-
Есть дочернее окно, лежащее на неком паренте. Есть ли в Windows штатная какая-то возможность передавать события мыши мышью ниже лежащему паренту так, как-будто эти события приходят непосредственно этому паренту?
Задача, вероятно, упрощается тем, что речь про передачу сообщений своему паренту, а не окнам вообще (тем более не окнам других процессов).
Как сгородить руками - примерно понятно 1) ловить у себя, преобразовывать координаты - постить паренту 2) делать клиентскому окну хитрую форму, обрисовывающую точно нарисованные в окне элементы (немного из другой оперы как бы, но со стороны пользователя "вижу нарисованное на паренте, в это кликаю и получаю ожидаемый результат) - одно и тоже.
Но может есть готовый какой-то механизм, кроме 2) ? Возможно даже подойдёт механизм "отказаться окну получать сообщения, связанные с управлением пользователем, всё передавать паренту".
сейчас вспомнил: в VCL есть галка "сначала обрабатывать парентом", но там реализован по сути механизм 1), на сколько я понимаю.
-
> KSergey © (12.02.16 10:44)
> Задача, вероятно, упрощается тем, что речь про передачу > сообщений своему паренту, а не окнам вообще (тем более не > окнам других процессов).
вот как раз для других окон точно подойдет установка стиля WS_EX_TRANSPARENT насчет дочерних окон - не уверен, не проверял, возможно тоже подойдет.
-
> (тем более не окнам других процессов)
WM_NCHITTEST
HTTRANSPARENT -1 In a window currently covered by another window in the same thread (the message will be sent to underlying windows in the same thread until one of them returns a code that is not HTTRANSPARENT).
|