好的,所以在我的應用程序中,有一堆winAPI和一些自定義控件。耶...雙緩存winAPI
現在,通常,他們只是靜靜地重繪自己的動畫,狀態改變,等....它一切正常。
但我有一個名爲fix()的Window類的方法。這被稱爲每當整個窗口需要更新。它調整了控件的大小並使窗口無效。
發生這種情況時,會繪製背景,然後是選項卡控件,然後是所有其他頂部。這會導致非常惱人的閃爍,尤其是在調整窗口大小時(由於不斷調用fix())。
我曾嘗試:
- WS_EX_COMPOSITED。這只是雙緩衝單個控件。它是一種改進,但閃爍不可避免地依然存在。
- 關閉背景圖。幾乎沒有解決問題,實際上使情況變得更糟。
所以:我需要一種技術/方法/無論如何讓我雙緩衝整個窗口。我認爲自己處理WM_PAINT消息可能是一個解決方案,但我不知道從哪裏開始。我有一種可怕的感覺,這是不可能的...
請幫助,這是一個關鍵問題。當這個愚蠢的小問題得到解決時,我會很放心。
也許檢查此頁面嗎? http://www.gamedev.net/community/forums/topic.asp?topic_id=411559 – 2010-10-11 08:04:23