Я хотел бы создать окно верхнего уровня (т.е. не WS_CHILD) с прозрачностью. Однако я не хочу, чтобы это была простая маска, где данный пиксель либо полностью прозрачен, либо полностью непрозрачен. И я не хочу, чтобы оно было таким, чтобы у всего окна был какой-то альфа-уровень. Скорее, я бы хотел, чтобы окно было по существу полностью прозрачным, с растровым изображением, нарисованным на нем с альфа-каналом, так, чтобы растровое изображение сливалось с любыми окнами, которые могут находиться за ним. Представьте, скажем, солнечные лучи, где собственная альфа-часть изображения смешивается от непрозрачной до полностью прозрачной наружу от центра.
Я нашел два метода, которые оба приближаются к тому, что я хочу сделать, но не совсем. Используя регионы, я могу вырезать раздел, который нарисован полностью прозрачным. Используя многослойные окна, я также могу сделать что-то подобное (или даже сделать все окно слегка прозрачным, но это совсем не то, что я хочу). Я изучил другие стили, такие как WS_EX_TRANSPARENT и WS_EX_COMPOSITE, но безрезультатно.
Я могу заставить этот вид эффекта отлично работать на дочерних окнах, так как они смешиваются с родительскими окнами в пределах области своих родителей. Мне так же не удается заставить его работать аналогично для окон верхнего уровня.
Я знаю, что это можно сделать, поскольку люди уверяли меня, что видели это в других программах. Я чувствую, что просто не совсем понимаю что-то простое в рисовании окон.