2010-08-31 78 views
0

我有一个使用WS_EX_LAYERED创建并使用SetLayeredWindowAttributes(... LWA_ALPHA)进行调整的分层(半透明窗口)。我不得不不时地显示和隐藏它,但自从最后一次隐藏以后,图像将发生显着变化。但SetWindowPos和ShowWindow首先显示前一个图像(可能是上次缓存的图像),然后我看到新的图像重新绘制。什么是无效的最佳方式,就好像它会显示为第一次(所以没有以前的缓冲图像的绘制)内容更改时如何正确显示隐藏的透明窗口

感谢

MaxN中

回答

0

以前从来没有注意到这一点,这可能是您的视频显示驱动程序的人为因素。

是的,你可以做点什么。分层窗口允许您控制不透明度。您可以从SetLayeredWindowAttributes()的bAlpha开始,并在您处理的第一个WM_PAINT消息之后将其更改。由计时器驱动的淡入淡出也是一种非常常见的技巧。

+0

回答,虽然认为没有回复将以同样的方式解决它)我明白为什么一个人不能注意到它,不经常用户干预内容会改变。 – Maksee 2010-08-31 14:17:48