1
A
回答
2
有沒有辦法「撤銷」或「擦除」,你做XOR一個BitBlt的或任何其他圖形輸出(除非常特殊情況基於圖形的繪圖,您可以通過在原始頂部執行另一個異或繪製操作來撤消該繪圖)。
你可以做的唯一事情就是在上面畫一些其他東西,這就是你所說的「補丁」。通常情況下,您可以繪製窗口背景色的實心矩形。這正是OnEraseBkgrnd
消息處理程序默認執行的操作,它在OnPaint
之前運行。具體來說,它使用窗口類的背景畫筆,通常是使用COLOR_3DFACE
(用於對話框)或(用於窗口)系統顏色繪製的畫筆。
當然,你總是可以只是而不是首先做BitBlt。 全部繪畫代碼應該總是去掉裏面的OnPaint
消息處理函數,所以沒有辦法可以最終得到「陳舊」的圖形。每當窗口需要重新繪製時,就會調用該函數,並且該函數內的代碼將重新繪製窗口。如果你不希望它被繪製位圖,請不要調用BitBlt。
如果你已經使用臨時CDC
對象(你通常應不做),你可以強制使用做了BitBlt的上你的窗口的頂部通過觸發窗口的重繪被刪除。最簡單的方法是使用窗口的InvalidateRect()
成員函數;通過NULL
作爲指向要失效的矩形的指針將使窗口的整個客戶區失效,或者可以使您blitting的區域失效。
相關問題
- 1. PHP:如何刪除輸出?
- 2. 如何在MFC中刪除行
- 3. 如何從輸出中刪除括號?
- 4. 如何從json輸出中刪除[「」]?
- 5. VS 2008 MFC - 刪除MFC處理程序
- 6. 如何從'tf diff'輸出中刪除排除的更改?
- 7. 級聯刪除SQL輸出
- 8. sp_helptext輸出被ADO.NET刪除?
- 9. C刪除printf輸出
- 10. Snakemake:刪除輸出文件
- 11. 刪除Netmiko自動輸出
- 12. 如何刪除python輸出中的任何重複項
- 13. 如何刪除MFC中CPropertySheet中的默認幫助按鈕?
- 14. MFC:從刪除輸入指針到它ControllingFunction停止線程
- 15. 的ColdFusion刪除不必要的輸出
- 16. 我如何刪除mongo輸出的調試信息
- 17. 如何從PHP輸出的字符串中刪除單詞?
- 18. XSLT如何刪除不需要的輸出
- 19. 如何刪除沒有貫徹線程我的期望輸出
- 20. 如何刪除doxygen中生成輸出中的行參考?
- 21. 如何從Python的輸出中刪除None?
- 22. 如何從xslt輸出xml中刪除不需要的空xmlns
- 23. 如何從Sequelize中的輸出中刪除關聯?
- 24. 如何從輸出(%)中刪除我的最後一個字符?
- 25. 如何刪除此正則表達式輸出中的空格?
- 26. 如何刪除python輸出結尾的空格?
- 27. 如何刪除不需要的文本輸出與閃亮rgl
- 28. 如何刪除XML :: Simple輸出中的<opt>標籤?
- 29. 如何從nosetests中刪除輸出的調試
- 30. iPad VGA輸出 - 如何刪除額外的UIScreen