2012-04-08 55 views
4

我使用UpdateLayeredWindow創建分層窗口的區域使用UpdateLayeredWindow,我已經實現繪製邏輯的子控件。我的問題是,每當uI發生變化時,整個框架都需要重新繪製。我想知道是否有一種方法只重繪窗口的特定CRect或CRgn(即,將相關的CDC傳遞到UpdateLayeredWindow,但指定了您想要的CRect)。在窗口

如果使用UpdateLayeredWindowIndirect,並將UPDATELAYEREDWINDOWINFO結構中的prcDirty CRect設置爲控件的客戶區,會導致只更新該區域?

回答

3

psizepptSrc參數讓你指定要更新哪一部分的窗口。 UpdateLayeredWindow不使用無效模型。它使用更新模型。

+0

UpdateLayeredWindowIndirect函數呢?它說在UPDATELAYEREDWINDOWINFO參數中的prcDirty RECT用於指定這個,這是正確的嗎? – user965369 2012-04-08 18:01:23

+0

這在文檔中有解釋。 「要更新的區域,該參數可以是NULL,如果它是非NULL,則只有源矩陣的區域更新。」它約束更新區域。 – 2012-04-08 18:06:53

+0

我知道醫生說什麼,我只是想要某種驗證,這實際上可以有效地工作,並創建所需的影響。 – user965369 2012-04-08 18:10:22

0

會使用UpdateLayeredWindowIndirect,並在UPDATELAYEREDWINDOWINFO結構設置prcDirty的CRect到控制的客戶區,僅使該區域的更新?

是的。這正是它所做的。