Можно создать дубликат:
Transparent window containing opaque text and buttonsC++: Как использовать SetLayeredWindowAttributes() только в родительском окне?
Я пытаюсь манипулировать существующее окно с C++.
В принципе, то, что я пытаюсь сделать, - установить родительское окно прозрачным, сначала установив его стиль окна на WS_EX_LAYERED
, а затем используя SetLayeredWindowAttributes()
с правильными значениями.
Проблема в том, что это также придаст прозрачности дочерним окнам, что сделает всю программу прозрачной (очевидно, проблемой).
Любые идеи?
EDIT Изображение демонстрирует проблему:
Как вы можете видеть, я установить стиль окна панели задач в WS_EX_LAYERED
, но, например, окно MSTaskSwWClass
(окно, которое имеет бегущих значки приложений) также влияет ,
EDIT2 Пробовал UpdateLayeredWindow()
с тем же результатом.
Даже если проблема довольно похожа, я не думаю, что ответы будут одинаковыми. Прежде всего, я не создаю окно самостоятельно, во-вторых, я не использую никаких растровых изображений и GDI (+). Кроме того, я попытался обмануть UpdateLayeredWindow(), но ничего не изменил (возможно, потому, что я не понимаю, как его использовать ..) –
Эффекты прозрачности и прозрачности, которые вы просите, всегда будут применяться к любому ребенку окна. Единственный способ избежать этого - поставить окно верхнего уровня поверх этого родительского окна. –
... Как бы это сделать в этом случае?? –