2012-06-18 62 views
0

我遇到了MSDN主题中提到的完全问题:DWM Blur Behind Overview有没有办法在VC6.0中修复“DwmEnableBlurBehindWindow”的副作用?

DwmEnableBlurBehindWindow被调用后,客户区变成了一个漂亮的玻璃,但不幸的是,控件上的所有黑色文本(BUTTON,EDIT,STATIC等)变得透明,就像Topic on MSDN一样。

有什么办法解决这个问题?顺便说一句,我的开发环境是VC++ 6.0,而且我必须用DrawThemeTextEx API绘制一些发光的文本,所以我不能简单地使用DwmExtendFrameIntoClientArea。我必须使用DwmEnableBlurBehindWindow来启用客户端区域的玻璃效果。

非常感谢!

2012年6月19日 更新: 通过改变窗口的透明按键颜色到非黑色与“SetLayeredWindowAttributes”,然后使用“DwmExtendFrameIntoClientArea”可以解决的控件(按钮,编辑字幕文本问题等等)放在玻璃窗上。

但这种方式,“DrawThemeTextEx”无法正常工作。它看起来像DrawThemeTextEx只能使用RGB(0,0,0)作为其透明关键颜色。

那么,有没有API可以改变其内使用“DrawThemeTextEx”透明按键颜色?

我的最终目标是在没有“MSDN主题:DWM模糊隐藏概述”中提及的“DwmEnableBlurBehindWindow”副作用的玻璃(Aero)窗口上绘制一些发光文本,http://msdn.microsoft.com/en -us /库/ aa969537.aspx。 如果有另一种方式来做到这一点,我很高兴听到:)

而且非常感谢,再次! :)

+2

VC6无关有了它,通用控件使用GDI和GDI不支持alpha通道... – Anders

+0

我所提及般VC6的原因是,我必须使用在DWM的API动态的方式。整个MSDEV不像VS2008或更高版本那么容易使用。 – Jimson

+0

使用彩色钥匙是不是因为你需要选择一个颜色,是不是你可能具有主题/ VS的一部分,而不是在任何图形/图标用于转到恕我直言的方式...... – Anders

回答

相关问题