SetLayeredWindowAttributes и WS_CHILD - PullRequest
0 голосов
/ 04 мая 2011

Как я могу получить тот же эффект, что и SetLayeredWindowAttributes для окон, созданных в стиле WS_CHILD? Есть ли обходной путь? Из MSDN:

Чтобы создать многоуровневое окно, укажите расширенный стиль окна WS_EX_LAYERED при вызове функции CreateWindowEx или вызовите функцию SetWindowLong, чтобы установить WS_EX_LAYERED после создания окна. После вызова CreateWindowEx многослойное окно не станет видимым, пока для этого окна не будет вызвана функция SetLayeredWindowAttributes или UpdateLayeredWindow. Обратите внимание, что WS_EX_LAYERED нельзя использовать для дочерних окон.

Ответы [ 2 ]

2 голосов
/ 20 сентября 2012

Прежде чем установить прозрачность дочернего объекта, сделайте это:

Сначала установите его для главного окна MDI (SetWindowLong & SetLayeredWindowAttributes),
, затем оно будет работать непосредственно для дочернего элемента.

2 голосов
/ 06 мая 2011

Дочернее окно не может быть наслоено - этот стиль действует только для окон со стилем WS_POPUP. Один из возможных способов (не столь элегантных) для решения этой проблемы - создать окно со стилем WS_POPUP и синхронизировать его положение при перемещении «родительского» окна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...