Hittest прозрачность для всей формы

Возможно ли, чтобы все границы формы были максимально прозрачными, не регулируя видимость формы?

Я использую API-вызов user32 для WindowFromPoint чтобы найти управление под мышкой. В некоторых обстоятельствах я хотел бы игнорировать существование дочерней формы, которая плавает перед основной формой (или другой дочерней формой), но оставить эту форму игнорируемой видимой.

Если для параметра "Непрозрачность" формы игнорировать значение 0, это приведет к тому, что тест попадания пройдет прямо через нее, но форма, очевидно, невидима, и я бы предпочел, чтобы она оставалась видимой.

Поскольку эта дочерняя форма может иметь любое произвольное количество элементов управления, существует ли способ для этой формы перехватить все WM_NCHITTEST сообщений, отправляемых дочерним элементам управления в форме, чтобы я мог вернуть наивысшую прозрачность для каждого элемента управления? Элементы управления, содержащиеся в форме, являются произвольными, поэтому я не могу изменить их внутренне.

1 ответ

Решение

Вы ищете WS_EX_TRANSPARENT Windows Style.

Этот ответ дает достаточно хорошее объяснение.

Другие вопросы по тегам