2010-10-19 95 views
3

我使用SetLayeredWindowAttributer使分層窗口的特定顏色透明。SetLayeredWindowAttributes無法在Windows 7上工作

這適用於Windows XP,VISTA。但是當我在Windows 7上使用它時,它不起作用。

SetLayeredWindowAttributes(hWnd, RGB(0xff,0xff,0xff), 0, LWA_COLORKEY); 

當我使用LWA_ALPHA時,它也可以。 問題是,我不能夠做一個特定的顏色透明在Windows 7

下面的語句可以在Windows 7

SetLayeredWindowAttributes(hWnd,RGB(0xff,0xff,0xff), 100, LWA_ALPHA); 

是否有可能呈現的顏色值不匹配的顏色值SetLayeredWindowAttributes?

回答

2

您應該避免在LWA_COLORKEY中使用0xff,0xff,0xff(白色)。任何其他值應該都可以(例如,0xff,0xff,0xfe)。

爲了更好的控制你的分層窗口,我建議你考慮使用UpdateLayeredWindowIndirect。我寫了一篇文章,詳細描述了它如何與GDI和Direct2D一起使用。

http://msdn.microsoft.com/en-us/magazine/ee819134.aspx

相關問題