UpdateLayeredWindow和16bit显示颜色深度

时间:2012-10-09 03:16:45

标签: visual-studio-2010 winapi windows-7 windows-xp gdi

使用32位颜色可以正常工作。 当切换到16位时,使用UpdateLayeredWindow绘制的窗口会变得混乱。您可以点击和/或更改颜色。

使用我自己的源代码以及其他代码都很糟糕。例如: http://www.codeproject.com/Articles/20758/Alpha-Blended-Windows-Forms

在Windows7和XP上测试。

如何摆脱这种行为。有没有解决方法?

2 个答案:

答案 0 :(得分:1)

Alpha混合和Alpha透明度不适用于16位颜色深度,因为没有Alpha通道可以使用。您需要32位颜色深度才能拥有Alpha通道。

答案 1 :(得分:0)

我已经用Google搜索了,这对我有用

http://www.myexception.cn/vc-mfc/170082.html

这个想法是在16位模式下不要创建兼容的位图,而是明确创建32位的位图。