我有一个用WS_EX_LAYERED创建并使用SetLayeredWindowAttributes(... LWA_ALPHA)调整的分层(半透明窗口)。我必须不时地展示和隐藏它,但是自上次隐藏以来,有时候图像会有明显改变。但SetWindowPos和ShowWindow首先显示上一个图像(可能是上次缓冲的图像),然后我看到新的图像重新绘制。使它失效的最佳方法是什么,好像它将首次显示(因此没有绘制先前缓冲的图像)
由于
MAXN
答案 0 :(得分:0)
之前从未注意到这一点,这可能是您的视频显示驱动程序的神器。
是的,你可以做些什么。分层窗口允许您控制不透明度。您可以从SetLayeredWindowAttributes()的bAlpha开始,并在您处理的第一个WM_PAINT消息之后更改它。由计时器驱动的淡入淡出也很常见。