2010-08-31 24 views
0

我有一個使用WS_EX_LAYERED創建並使用SetLayeredWindowAttributes(... LWA_ALPHA)進行調整的分層(半透明窗口)。我不得不不時地顯示和隱藏它,但自從最後一次隱藏以後,圖像將發生顯着變化。但SetWindowPos和ShowWindow首先顯示前一個圖像(可能是上次緩存的圖像),然後我看到新的圖像重新繪製。什麼是無效的最佳方式,就好像它會顯示爲第一次(所以沒有以前的緩衝圖像的繪製)內容更改時如何正確顯示隱藏的透明窗口

感謝

MaxN中

回答

0

以前從來沒有注意到這一點,這可能是您的視頻顯示驅動程序的人爲因素。

是的,你可以做點什麼。分層窗口允許您控制不透明度。您可以從SetLayeredWindowAttributes()的bAlpha開始,並在您處理的第一個WM_PAINT消息之後將其更改。由計時器驅動的淡入淡出也是一種非常常見的技巧。

+0

回答,雖然認爲沒有回覆將以同樣的方式解決它)我明白爲什麼一個人不能注意到它,不經常用戶干預內容會改變。 – Maksee 2010-08-31 14:17:48