Създавам прозорец с WS_EX_LAYERED
и задавам цветен ключ към него с помощта на SetLayeredWindowAttributes()
. Мога да проверя дали този цветен ключ наистина създава прозрачен пластир в прозореца, като начертая прост правоъгълник, използвайки FillRect()
вътре в прозореца. Това обаче не работи, когато рисувам в прозореца с помощта на DirectDraw. Създавам IDirectDrawSurface7
на прозореца и Blt()
добавям няколко пиксела към него. някои от пикселите са оцветени с цветния ключ, но не ги виждам като прозрачни, те просто се появяват в цветния ключ.
Има ли нещо, присъщо на повърхността на DirectDraw, което е в конфликт с наслоената цветова манипулация на прозореца?
Когато задавам алфа стойност, използвайки SetLayeredWindowAttributes()
, това изглежда работи добре с повърхността на DirectDraw и тя наистина изглежда полупрозрачна.